Preparation

Clean the environment.

Set locations, and the working directory.

A package-installation function.

Load those packages.

We will create a datestamp and define the Utrecht Science Park Colour Scheme.

# Function to grep data from glm()/lm()
GLM.CON <- function(fit, DATASET, x_name, y, verbose=c(TRUE,FALSE)){
  cat("Analyzing in dataset '", DATASET ,"' the association of '", x_name ,"' with '", y ,"' .\n")
  if (nrow(summary(fit)$coefficients) == 1) {
    output = c(DATASET, x_name, y, rep(NA,8))
    cat("Model not fitted; probably singular.\n")
  }else {
    cat("Collecting data.\n\n")
    effectsize = summary(fit)$coefficients[2,1]
    SE = summary(fit)$coefficients[2,2]
    OReffect = exp(summary(fit)$coefficients[2,1])
    CI_low = exp(effectsize - 1.96 * SE)
    CI_up = exp(effectsize + 1.96 * SE)
    tvalue = summary(fit)$coefficients[2,3]
    pvalue = summary(fit)$coefficients[2,4]
    R = summary(fit)$r.squared
    R.adj = summary(fit)$adj.r.squared
    sample_size = nrow(model.frame(fit))
    AE_N = AEDB.CEA.samplesize
    Perc_Miss = 100 - ((sample_size * 100)/AE_N)
    
    output = c(DATASET, x_name, y, effectsize, SE, OReffect, CI_low, CI_up, tvalue, pvalue, R, R.adj, AE_N, sample_size, Perc_Miss)
    
    if (verbose == TRUE) {
    cat("We have collected the following and summarize it in an object:\n")
    cat("Dataset...................:", DATASET, "\n")
    cat("Score/Exposure/biomarker..:", x_name, "\n")
    cat("Trait/outcome.............:", y, "\n")
    cat("Effect size...............:", round(effectsize, 6), "\n")
    cat("Standard error............:", round(SE, 6), "\n")
    cat("Odds ratio (effect size)..:", round(OReffect, 3), "\n")
    cat("Lower 95% CI..............:", round(CI_low, 3), "\n")
    cat("Upper 95% CI..............:", round(CI_up, 3), "\n")
    cat("T-value...................:", round(tvalue, 6), "\n")
    cat("P-value...................:", signif(pvalue, 8), "\n")
    cat("R^2.......................:", round(R, 6), "\n")
    cat("Adjusted r^2..............:", round(R.adj, 6), "\n")
    cat("Sample size of AE DB......:", AE_N, "\n")
    cat("Sample size of model......:", sample_size, "\n")
    cat("Missing data %............:", round(Perc_Miss, 6), "\n")
    } else {
      cat("Collecting data in summary object.\n")
    }
  }
  return(output)
  print(output)
}

GLM.BIN <- function(fit, DATASET, x_name, y, verbose=c(TRUE,FALSE)){
  cat("Analyzing in dataset '", DATASET ,"' the association of '", x_name ,"' with '", y ,"' ...\n")
  if (nrow(summary(fit)$coefficients) == 1) {
    output = c(DATASET, x_name, y, rep(NA,9))
    cat("Model not fitted; probably singular.\n")
  }else {
    cat("Collecting data...\n")
    effectsize = summary(fit)$coefficients[2,1]
    SE = summary(fit)$coefficients[2,2]
    OReffect = exp(summary(fit)$coefficients[2,1])
    CI_low = exp(effectsize - 1.96 * SE)
    CI_up = exp(effectsize + 1.96 * SE)
    zvalue = summary(fit)$coefficients[2,3]
    pvalue = summary(fit)$coefficients[2,4]
    dev <- fit$deviance
    nullDev <- fit$null.deviance
    modelN <- length(fit$fitted.values)
    R.l <- 1 - dev / nullDev
    R.cs <- 1 - exp(-(nullDev - dev) / modelN)
    R.n <- R.cs / (1 - (exp(-nullDev/modelN)))
    sample_size = nrow(model.frame(fit))
    AE_N = AEDB.CEA.samplesize
    Perc_Miss = 100 - ((sample_size * 100)/AE_N)
    
    output = c(DATASET, x_name, y, effectsize, SE, OReffect, CI_low, CI_up, zvalue, pvalue, R.l, R.cs, R.n, AE_N, sample_size, Perc_Miss)
    if (verbose == TRUE) {
    cat("We have collected the following and summarize it in an object:\n")
    cat("Dataset...................:", DATASET, "\n")
    cat("Score/Exposure/biomarker..:", x_name, "\n")
    cat("Trait/outcome.............:", y, "\n")
    cat("Effect size...............:", round(effectsize, 6), "\n")
    cat("Standard error............:", round(SE, 6), "\n")
    cat("Odds ratio (effect size)..:", round(OReffect, 3), "\n")
    cat("Lower 95% CI..............:", round(CI_low, 3), "\n")
    cat("Upper 95% CI..............:", round(CI_up, 3), "\n")
    cat("Z-value...................:", round(zvalue, 6), "\n")
    cat("P-value...................:", signif(pvalue, 8), "\n")
    cat("Hosmer and Lemeshow r^2...:", round(R.l, 6), "\n")
    cat("Cox and Snell r^2.........:", round(R.cs, 6), "\n")
    cat("Nagelkerke's pseudo r^2...:", round(R.n, 6), "\n")
    cat("Sample size of AE DB......:", AE_N, "\n")
    cat("Sample size of model......:", sample_size, "\n")
    cat("Missing data %............:", round(Perc_Miss, 6), "\n")
    } else {
      cat("Collecting data in summary object.\n")
    }
  }
  return(output)
  print(output)
}

Background

Using a Mendelian Randomization approach, we recently examined associations between the circulating levels of 41 cytokines and growth factors and the risk of stroke in the MEGASTROKE GWAS dataset (67,000 stroke cases and 450,000 controls) and found Monocyte chemoattractant protein-1 (MCP-1) as the cytokine showing the strongest association with stroke, particularly large artery and cardioembolic stroke (Georgakis et al., 2019a). Genetically elevated MCP-1 levels were also associated with a higher risk of coronary artery disease and myocardial infarction (Georgakis et al., 2019a). Further, in a meta-analysis of 6 observational population-based of longitudinal cohort studies we recently showed that baseline levels of MCP-1 were associated with a higher risk of ischemic stroke over follow-up (Georgakis et al., 2019b). While these data suggest a central role of MCP-1 in the pathogenesis of atherosclerosis, it remains unknown if MCP-1 levels in the blood really reflect MCP-1 activity. MCP-1 is expressed in the atherosclerotic plaque and attracts monocytes in the subendothelial space (Nelken et al., 1991; Papadopoulou et al., 2008; Takeya et al., 1993; Wilcox et al., 1994). Thus, MCP-1 levels in the plaque might more strongly reflect MCP-1 signaling. However, it remains unknown if MCP-1 plaque levels associate with plaque vulnerability or risk of cardiovascular events.

Objectives

Against this background we now aim to make use of the data from Athero-Express Biobank Study to explore the associations of MCP-1 protein levels in the atherosclerotic plaques from patients undergoing carotid endarterectomy with phenotypes of plaque vulnerability and secondary vascular events over a follow-up of three years.

Methods

Blood

OLINK-platform

  • IL6: Interleukin 6. Entrez Gene: 3569. OLINK, plasma
  • MCP1: Monocyte chemotactic protein 1, MCP-1 (Chemokine (C-C motif) ligand 2, CCL2). Entrez Gene: 6347. OLINK, plasma

THESE DATA ARE NOT AVAILABLE YET

Plaque

Luminex-platform, measured by Luminex

  • MCP1: Monocyte chemotactic protein 1 (a.k.a. CCL2; Entrez Gene: 6347) concentration in plaque [pg/ug]. Measured in two experiments, variables MCP1 and MCP1_pg_ug_2015. The latter was corrected for plaque total protein concentration.
  • IL6: Interleuking 6 (IL6; Entrez Gene: 3569) concentration in plaque [pg/ug].
  • IL6R: Interleuking 6 receptor (IL6R; Entrez Gene: 3570) concentration in plaque [pg/ug].

FACS platform

  • IL6: Interleukin 6. Entrez Gene: 3569. Bender MedSystems; cat.nr.: BMS810FF. Recalculated FACS. [pg/mL]

Loading data

Clinical data

Loading Athero-Express clinical data.

require(haven)

# AEDB <- haven::read_sav(paste0(AEDB_loc, "/2019-3NEW_AtheroExpressDatabase_ScientificAE_02072019_IC_added.sav"))
AEDBraw <- haven::read_sav(paste0(AEDB_loc, "/2020_1_NEW_AtheroExpressDatabase_ScientificAE_16-03-2020.sav"))

head(AEDBraw)

Plaque protein data

Loading Athero-Express plaque protein measurements from 2015.

library(openxlsx)
AEDB_Protein_2015 <- openxlsx::read.xlsx(paste0(AEDB_loc, "/_AE_Proteins/Cytokines_and_chemokines_2015/20200629_MPCF015-0024.xlsx"), sheet = "for_SPSS_R")

names(AEDB_Protein_2015)[names(AEDB_Protein_2015) == "SampleID"] <- "STUDY_NUMBER"

head(AEDB_Protein_2015)
NA

Plasma protein data

Loading Athero-Express plasma protein measurements from 2019/2020 as measured using OLINK.

library(openxlsx)
AEDB_PlasmaProtein_OLINK_CVD2raw <- openxlsx::read.xlsx(paste0(AEDB_loc, "/_AE_OLINK/20200706_AtheroExpress_OlinkData_forR.xlsx"), sheet = "CVD2_forR")
AEDB_PlasmaProtein_OLINK_CVD3raw <- openxlsx::read.xlsx(paste0(AEDB_loc, "/_AE_OLINK/20200706_AtheroExpress_OlinkData_forR.xlsx"), sheet = "CVD3_forR")
AEDB_PlasmaProtein_OLINK_CMraw <- openxlsx::read.xlsx(paste0(AEDB_loc, "/_AE_OLINK/20200706_AtheroExpress_OlinkData_forR.xlsx"), sheet = "CM_forR")

AEDB_PlasmaProtein_OLINK_ProteinInfo <- openxlsx::read.xlsx(paste0(AEDB_loc, "/_AE_OLINK/20200706_AtheroExpress_OlinkData_forR.xlsx"), sheet = "ProteinInfo")

AEDB_PlasmaProtein_OLINK_CVD2 <- AEDB_PlasmaProtein_OLINK_CVD2raw %>% filter(QC_Warning_CVD2 == "Pass")
AEDB_PlasmaProtein_OLINK_CVD3 <- AEDB_PlasmaProtein_OLINK_CVD3raw %>% filter(QC_Warning_CVD3 == "Pass")
AEDB_PlasmaProtein_OLINK_CM <- AEDB_PlasmaProtein_OLINK_CMraw %>% filter(QC_Warning_CM == "Pass")

table(AEDB_PlasmaProtein_OLINK_CVD2raw$QC_Warning_CVD2)

   Pass Warning 
    690      10 
table(AEDB_PlasmaProtein_OLINK_CVD2$QC_Warning_CVD2)

Pass 
 690 
table(AEDB_PlasmaProtein_OLINK_CVD3raw$QC_Warning_CVD3)

Pass 
 699 
table(AEDB_PlasmaProtein_OLINK_CVD3$QC_Warning_CVD3)

Pass 
 699 
table(AEDB_PlasmaProtein_OLINK_CMraw$QC_Warning_CM)

   Pass Warning 
    691       9 
table(AEDB_PlasmaProtein_OLINK_CM$QC_Warning_CM)

Pass 
 691 
AEDB_PlasmaProtein_OLINK_CVD2$Plate_ID <- NULL
AEDB_PlasmaProtein_OLINK_CVD3$Plate_ID <- NULL
AEDB_PlasmaProtein_OLINK_CVD2$Order <- NULL
AEDB_PlasmaProtein_OLINK_CVD3$Order <- NULL
AEDB_PlasmaProtein_OLINK_CM$Order <- NULL

temp <- merge(AEDB_PlasmaProtein_OLINK_CVD2, AEDB_PlasmaProtein_OLINK_CVD3, by.x = "STUDY_NUMBER", by.y = "STUDY_NUMBER",
              sort = FALSE, all.x = TRUE)

AEDB_PlasmaProtein_OLINK <- merge(temp, AEDB_PlasmaProtein_OLINK_CM, by.x = "STUDY_NUMBER", by.y = "STUDY_NUMBER",
              sort = FALSE, all.x = TRUE)

AEDB_PlasmaProtein_OLINK$Plate_ID[AEDB_PlasmaProtein_OLINK$Plate_ID == "ERA_UMC_AE_cardiometabolic_plt1_29-10-19"] <- "plate 1"
AEDB_PlasmaProtein_OLINK$Plate_ID[AEDB_PlasmaProtein_OLINK$Plate_ID == "ERA_UMC_AE_Cardiometabolic_plt2"] <- "plate 2"
AEDB_PlasmaProtein_OLINK$Plate_ID[AEDB_PlasmaProtein_OLINK$Plate_ID == "ERA_UMC_AE_Cardiometabolic_plt3"] <- "plate 3"
AEDB_PlasmaProtein_OLINK$Plate_ID[AEDB_PlasmaProtein_OLINK$Plate_ID == "ERA_UMC_AE_Cardiometabolic_plt4"] <- "plate 4"
AEDB_PlasmaProtein_OLINK$Plate_ID[AEDB_PlasmaProtein_OLINK$Plate_ID == "ERA_UMC_AE_Cardiometabolic_plt5"] <- "plate 5"
AEDB_PlasmaProtein_OLINK$Plate_ID[AEDB_PlasmaProtein_OLINK$Plate_ID == "ERA_UMC_AE_Cardiometabolic_pl6"] <- "plate 6"
AEDB_PlasmaProtein_OLINK$Plate_ID[AEDB_PlasmaProtein_OLINK$Plate_ID == "SMART_CM_plt10"] <- "plate 10"
AEDB_PlasmaProtein_OLINK$Plate_ID[AEDB_PlasmaProtein_OLINK$Plate_ID == "SMART_plt11_CM"] <- "plate 11"

olink_proteins <- c("BMP6", "ANGPT1", "ADM", "CD40L", "SLAMF7", "PGF", "ADAMTS13", "BOC", "IL4RA", "SRC", "IL1ra", "IL6", "TNFRSF10A", "STK4", "IDUA", 
                    "TNFRSF11A", "PAR1", "TRAILR2", "PRSS27", "TIE2", "TF", "IL1RL2", "PDGF_subunit_B", "IL27", "IL17D", "CXCL1", "LOX1", "Gal9", "GIF", "SCF", 
                    "IL18", "FGF21", "PIgR", "RAGE", "SOD2", "CTRC", "FGF23", "SPON2", "GH", "FS", "GLO1", "CD84", "PAPPA", "SERPINA12", "REN", "DECR1", 
                    "MERTK", "KIM1", "THBS2", "TM", "VSIG2", "AMBP", "PRELP", "HO1", "XCL1", "IL16", "SORT1", "CEACAM8", "PTX3", "PSGL1", "CCL17", "CCL3", 
                    "MMP7", "IgG_Fc_receptor_IIb", "ITGB1BP2", "DCN", "Dkk1", "LPL", "PRSS8", "AGRP", "HBEGF", "GDF2", "FABP2", "THPO", "MARCO", "GT", "BNP", 
                    "MMP12", "ACE2", "PDL2", "CTSL1", "hOSCAR", "TNFRSF13B", "TGM2", "LEP", "CA5A", "HSP_27", "CD4", "NEMO", "VEGFD", "PARP1", "HAOX1", 
                    "TNFRSF14", "LDL_receptor", "ITGB2", "IL17RA", "TNFR2", "MMP9", "EPHB4", "IL2RA", "OPG", "ALCAM", "TFF3", "SELP", "CSTB", "MCP1", "CD163", 
                    "Gal3", "GRN", "NTproBNP", "BLM_hydrolase", "PLC", "LTBR", "Notch_3", "TIMP4", "CNTN1", "CDH5", "TLT2", "FABP4", "TFPI", "PAI", "CCL24", 
                    "TR", "TNFRSF10C", "GDF15", "SELE", "AZU1", "DLK1", "SPON1", "MPO", "CXCL16", "IL6RA", "RETN", "IGFBP1", "CHIT1", "TRAP", "GP6", "PSPD", 
                    "PI3", "EpCAM", "APN", "AXL", "IL1RT1", "MMP2", "FAS", "MB", "TNFSF13B", "PRTN3", "PCSK9", "UPAR", "OPN", "CTSD", "PGLYRP1", "CPA1", "JAMA", 
                    "Gal4", "IL1RT2", "SHPS1", "CCL15", "CASP3", "uPA", "CPB1", "CHI3L1", "ST2", "tPA", "SCGB3A2", "EGFR", "IGFBP7", "CD93", "IL18BP", "COL1A1", 
                    "PON3", "CTSZ", "MMP3", "RARRES2", "ICAM2", "KLK6", "PDGF_subunit_A", "TNFR1", "IGFBP2", "vWF", "PECAM1", "MEPE", "CCL16", "PRCP", "CA1", 
                    "ICAM1", "CHL1", "TGFBI", "ENG", "PLTP", "SERPINA7", "IGFBP3", "CR2", "SERPINA5", "FCGR3B", "IGFBP6", "CDH1", "CCL5", "CCL14", "GNLY", 
                    "NOTCH1", "PAM", "PROC", "CST3", "NCAM1", "PCOLCE", "LILRB1", "MET", "LTBP2", "IL7R", "VCAM1", "SELL", "F11", "COMP", "CA4", "PTPRS", 
                    "MBL2", "TIMP1", "ANGPTL3", "REG3A", "SOD1", "CD46", "ITGAM", "TNC", "NID1", "CFHR5", "SPARCL1", "PLXNB2", "MEGF9", "ANG", "ST6GAL1", 
                    "DPP4", "REG1A", "QPCT", "FCN2", "FETUB", "CES1", "CRTAC1", "TCN2", "PRSS2", "ICAM3", "SAA4", "CNDP1", "FCGR2A", "NRP1", "EFEMP1", "TIMD4", 
                    "FAP", "TIE1", "THBS4", "F7", "GP1BA", "LYVE1", "CA3", "TGFBR3", "DEFA1", "CD59", "APOM", "OSMR", "LILRB2", "UMOD", "CCL18", "COL18A1", 
                    "LCN2", "KIT", "C1QTNF1", "AOC3", "GAS6", "IGLC2", "PLA2G7", "TNXB", "MFAP5", "VASN", "LILRB5", "C2")

length(olink_proteins)
[1] 276
olink_proteins_rank = unlist(lapply(olink_proteins, paste0, "_rankNorm"))

olink_proteins_short <- c("MCP1")
olink_proteins_short_rank <- unlist(lapply(olink_proteins_short, paste0, "_rankNorm"))

rm(temp)

Merging protein data

We will merge these measurements to the AEDB for comparing pg/ug vs. pg/mL measurements of MCP1 - also in relation to plaque phenotypes. In addition we have more information the experiment and can correct for this.

names(AEDB_Protein_2015)[names(AEDB_Protein_2015) == "IL6_pg_ml"] <- "IL6_pg_ml_2015"
names(AEDB_Protein_2015)[names(AEDB_Protein_2015) == "IL6R_pg_ml"] <- "IL6R_pg_ml_2015"
names(AEDB_Protein_2015)[names(AEDB_Protein_2015) == "IL8_pg_ml"] <- "IL8_pg_ml_2015"
names(AEDB_Protein_2015)[names(AEDB_Protein_2015) == "MCP1_pg_ml"] <- "MCP1_pg_ml_2015"
names(AEDB_Protein_2015)[names(AEDB_Protein_2015) == "RANTES_pg_ml"] <- "RANTES_pg_ml_2015"
names(AEDB_Protein_2015)[names(AEDB_Protein_2015) == "PAI1_pg_ml"] <- "PAI1_pg_ml_2015"
names(AEDB_Protein_2015)[names(AEDB_Protein_2015) == "MCSF_pg_ml"] <- "MCSF_pg_ml_2015"
names(AEDB_Protein_2015)[names(AEDB_Protein_2015) == "Adiponectin_ng_ml"] <- "Adiponectin_ng_ml_2015"
names(AEDB_Protein_2015)[names(AEDB_Protein_2015) == "Segment_isolated_Tris"] <- "Segment_isolated_Tris_2015"
names(AEDB_Protein_2015)[names(AEDB_Protein_2015) == "Tris_protein_conc_ug_ml"] <- "Tris_protein_conc_ug_ml_2015"

temp <- subset(AEDB_Protein_2015, select = c("STUDY_NUMBER", "IL6_pg_ml_2015", "IL6R_pg_ml_2015", "IL8_pg_ml_2015", "MCP1_pg_ml_2015", "RANTES_pg_ml_2015", "PAI1_pg_ml_2015", "MCSF_pg_ml_2015", "Adiponectin_ng_ml_2015", "Segment_isolated_Tris_2015", "Tris_protein_conc_ug_ml_2015"))

temp2 <- subset(AEDB_PlasmaProtein_OLINK, select = c("STUDY_NUMBER", "MCP1", "MCP1_rankNorm", "Plate_ID"))
names(temp2)[names(temp2) == "MCP1"] <- "MCP1_plasma_olink"
names(temp2)[names(temp2) == "MCP1_rankNorm"] <- "MCP1_plasma_olink_rankNorm"
names(temp2)[names(temp2) == "Plate_ID"] <- "PlateID_plasma_olink"


AEDBraw2 <- merge(AEDBraw, temp, by.x = "STUDY_NUMBER", by.y = "STUDY_NUMBER", sort = FALSE,
              all.x = TRUE)

AEDB <- merge(AEDBraw2, temp2, by.x = "STUDY_NUMBER", by.y = "STUDY_NUMBER", sort = FALSE,
              all.x = TRUE)
rm(temp, temp2, AEDBraw2)

temp <- subset(AEDB, select = c("STUDY_NUMBER", "MCP1", "MCP1_pg_ug_2015", "MCP1_pg_ml_2015", "Segment_isolated_Tris_2015",
                                "MCP1_plasma_olink", "MCP1_plasma_olink_rankNorm", "PlateID_plasma_olink"))
dim(temp)
[1] 3793    8
head(temp)
rm(temp)   

Examine AEDB

We can examine the contents of the Athero-Express Biobank dataset to know what each variable is called, what class (type) it has, and what the variable description is.

There is an excellent post on this: https://www.r-bloggers.com/working-with-spss-labels-in-r/.

AEDB %>% sjPlot::view_df(show.type = TRUE,
                         show.frq = TRUE,
                         show.prc = TRUE,
                         show.na = TRUE, 
                         max.len = TRUE, 
                         wrap.labels = 20,
                         verbose = FALSE, 
                         use.viewer = FALSE,
                         file = paste0(OUT_loc, "/", Today, ".AEDB.dictionary.html")) 
Following 3 variables have only missing values and are not shown:
yearpsy5 [326], yearchol3 [347], yearablo3 [419]

Fixing and creating variables

We need to be very strict in defining symptoms. Therefore we will fix a new variable that groups symptoms at inclusion.

Coding of symptoms is as follows:

  • missing -999
  • Asymptomatic 0
  • TIA 1
  • minor stroke 2
  • Major stroke 3
  • Amaurosis fugax 4
  • Four vessel disease 5
  • Vertebrobasilary TIA 7
  • Retinal infarction 8
  • Symptomatic, but aspecific symtoms 9
  • Contralateral symptomatic occlusion 10
  • retinal infarction 11
  • armclaudication due to occlusion subclavian artery, CEA needed for bypass 12
  • retinal infarction + TIAs 13
  • Ocular ischemic syndrome 14
  • ischemisch glaucoom 15
  • subclavian steal syndrome 16
  • TGA 17

We will group as follows in Symptoms.5G:

  1. Asymptomatic > 0
  2. TIA > 1, 7, 13
  3. Stroke > 2, 3
  4. Ocular > 4, 14, 15
  5. Retinal infarction > 8, 11
  6. Other > 5, 9, 10, 12, 16, 17

We will also group as follows in AsymptSympt:

  1. Asymptomatic > 0
  2. TIA > 1, 7, 13 + Stroke > 2, 3
  3. Ocular > 4, 14, 15 + Retinal infarction > 8, 11 + Other > 5, 9, 10, 12, 16, 17

We will also group as follows in AsymptSympt2G:

  1. Asymptomatic > 0
  2. TIA > 1, 7, 13 + Stroke > 2, 3 Ocular > 4, 14, 15 + Retinal infarction > 8, 11 + Other > 5, 9, 10, 12, 16, 17
# Fix symptoms

attach(AEDB)

AEDB$sympt[is.na(AEDB$sympt)] <- -999

# Symptoms.5G
AEDB[,"Symptoms.5G"] <- NA
# AEDB$Symptoms.5G[sympt == "NA"] <- "Asymptomatic"
AEDB$Symptoms.5G[sympt == -999] <- NA
AEDB$Symptoms.5G[sympt == 0] <- "Asymptomatic"
AEDB$Symptoms.5G[sympt == 1 | sympt == 7 | sympt == 13] <- "TIA"
AEDB$Symptoms.5G[sympt == 2 | sympt == 3] <- "Stroke"
AEDB$Symptoms.5G[sympt == 4 | sympt == 14 | sympt == 15 ] <- "Ocular"
AEDB$Symptoms.5G[sympt == 8 | sympt == 11] <- "Retinal infarction"
AEDB$Symptoms.5G[sympt == 5 | sympt == 9 | sympt == 10 | sympt == 12 | sympt == 16 | sympt == 17] <- "Other"

# AsymptSympt
AEDB[,"AsymptSympt"] <- NA
AEDB$AsymptSympt[sympt == -999] <- NA
AEDB$AsymptSympt[sympt == 0] <- "Asymptomatic"
AEDB$AsymptSympt[sympt == 1 | sympt == 7 | sympt == 13 | sympt == 2 | sympt == 3] <- "Symptomatic"
AEDB$AsymptSympt[sympt == 4 | sympt == 14 | sympt == 15 | sympt == 8 | sympt == 11 | sympt == 5 | sympt == 9 | sympt == 10 | sympt == 12 | sympt == 16 | sympt == 17] <- "Ocular and others"

# AsymptSympt
AEDB[,"AsymptSympt2G"] <- NA
AEDB$AsymptSympt2G[sympt == -999] <- NA
AEDB$AsymptSympt2G[sympt == 0] <- "Asymptomatic"
AEDB$AsymptSympt2G[sympt == 1 | sympt == 7 | sympt == 13 | sympt == 2 | sympt == 3 | sympt == 4 | sympt == 14 | sympt == 15 | sympt == 8 | sympt == 11 | sympt == 5 | sympt == 9 | sympt == 10 | sympt == 12 | sympt == 16 | sympt == 17] <- "Symptomatic"

detach(AEDB)

# table(AEDB$sympt, useNA = "ifany")
# table(AEDB$AsymptSympt2G, useNA = "ifany")
# table(AEDB$Symptoms.5G, useNA = "ifany")
# 
# table(AEDB$AsymptSympt2G, AEDB$sympt, useNA = "ifany")
# table(AEDB$Symptoms.5G, AEDB$sympt, useNA = "ifany")
table(AEDB$AsymptSympt2G, AEDB$Symptoms.5G, useNA = "ifany")
              
               Asymptomatic Ocular Other Retinal infarction Stroke  TIA <NA>
  Asymptomatic          333      0     0                  0      0    0    0
  Symptomatic             0    417   119                 43    733 1045    0
  <NA>                    0      0     0                  0      0    0 1103
# AEDB.temp <- subset(AEDB,  select = c("STUDY_NUMBER", "UPID", "Age", "Gender", "Hospital", "Artery_summary", "sympt", "Symptoms.5G", "AsymptSympt"))
# require(labelled)
# AEDB.temp$Gender <- to_factor(AEDB.temp$Gender)
# AEDB.temp$Hospital <- to_factor(AEDB.temp$Hospital)
# AEDB.temp$Artery_summary <- to_factor(AEDB.temp$Artery_summary)
# 
# DT::datatable(AEDB.temp[1:10,], caption = "Excerpt of the whole AEDB.", rownames = FALSE)
# 
# table(AEDB.temp$Symptoms.5G, AEDB.temp$AsymptSympt)
# 
# rm(AEDB.temp)

We will also fix the plaquephenotypes variable.

Coding of symptoms is as follows:

  • missing -999
  • not relevant -888
  • fibrous 1
  • fibroatheromatous 2
  • atheromatous 3

# Fix plaquephenotypes
attach(AEDB)
AEDB[,"OverallPlaquePhenotype"] <- NA
AEDB$OverallPlaquePhenotype[plaquephenotype == -999] <- NA
AEDB$OverallPlaquePhenotype[plaquephenotype == -999] <- NA
AEDB$OverallPlaquePhenotype[plaquephenotype == 1] <- "fibrous"
AEDB$OverallPlaquePhenotype[plaquephenotype == 2] <- "fibroatheromatous"
AEDB$OverallPlaquePhenotype[plaquephenotype == 3] <- "atheromatous"
detach(AEDB)

table(AEDB$OverallPlaquePhenotype)

     atheromatous fibroatheromatous           fibrous 
              550               843              1439 
# AEDB.temp <- subset(AEDB,  select = c("STUDY_NUMBER", "UPID", "Age", "Gender", "Hospital", "Artery_summary", "plaquephenotype", "OverallPlaquePhenotype"))
# require(labelled)
# AEDB.temp$Gender <- to_factor(AEDB.temp$Gender)
# AEDB.temp$Hospital <- to_factor(AEDB.temp$Hospital)
# AEDB.temp$Artery_summary <- to_factor(AEDB.temp$Artery_summary)
# 
# DT::datatable(AEDB.temp[1:10,], caption = "Excerpt of the whole AEDB.", rownames = FALSE)
# 
# rm(AEDB.temp)

We will also fix the diabetes status variable. We define diabetes as history of a diagnosis and/or use of glucose-lowering medications.

# Fix diabetes
attach(AEDB)
AEDB[,"DiabetesStatus"] <- NA
AEDB$DiabetesStatus[DM.composite == -999] <- NA
AEDB$DiabetesStatus[DM.composite == 0] <- "Control (no Diabetes Dx/Med)"
AEDB$DiabetesStatus[DM.composite == 1] <- "Diabetes"
detach(AEDB)

table(AEDB$DM.composite)

   0    1 
2766  985 
table(AEDB$DiabetesStatus)

Control (no Diabetes Dx/Med)                     Diabetes 
                        2766                          985 
# AEDB.temp <- subset(AEDB,  select = c("STUDY_NUMBER", "UPID", "Age", "Gender", "Hospital", "Artery_summary", "DM.composite", "DiabetesStatus"))
# require(labelled)
# AEDB.temp$Gender <- to_factor(AEDB.temp$Gender)
# AEDB.temp$Hospital <- to_factor(AEDB.temp$Hospital)
# AEDB.temp$Artery_summary <- to_factor(AEDB.temp$Artery_summary)
# AEDB.temp$DiabetesStatus <- to_factor(AEDB.temp$DiabetesStatus)
# 
# DT::datatable(AEDB.temp[1:10,], caption = "Excerpt of the whole AEDB.", rownames = FALSE)
# 
# rm(AEDB.temp)

We will also fix the smoking status variable. We are interested in whether someone never, ever or is currently (at the time of inclusion) smoking. This is based on the questionnaire.

  • diet801: are you a smoker?
  • diet802: did you smoke in the past?

We already have some variables indicating smoking status:

  • SmokingReported: patient has reported to smoke.
  • SmokingYearOR: smoking in the year of surgery?
  • SmokerCurrent: currently smoking?
require(labelled)
AEDB$diet801 <- to_factor(AEDB$diet801)
AEDB$diet802 <- to_factor(AEDB$diet802)
AEDB$diet805 <- to_factor(AEDB$diet805)
AEDB$SmokingReported <- to_factor(AEDB$SmokingReported)
AEDB$SmokerCurrent <- to_factor(AEDB$SmokerCurrent)
AEDB$SmokingYearOR <- to_factor(AEDB$SmokingYearOR)

# table(AEDB$diet801)
# table(AEDB$diet802)
# table(AEDB$SmokingReported)
# table(AEDB$SmokerCurrent)
# table(AEDB$SmokingYearOR)
# table(AEDB$SmokingReported, AEDB$SmokerCurrent, useNA = "ifany", dnn = c("Reported smoking", "Current smoker"))
# 
# table(AEDB$diet801, AEDB$diet802, useNA = "ifany", dnn = c("Smoker", "Past smoker"))

cat("\nFixing smoking status.\n")

Fixing smoking status.
attach(AEDB)
AEDB[,"SmokerStatus"] <- NA
AEDB$SmokerStatus[diet802 == "don't know"] <- "Never smoked"
AEDB$SmokerStatus[diet802 == "I still smoke"] <- "Current smoker"
AEDB$SmokerStatus[SmokerCurrent == "no" & diet802 == "no"] <- "Never smoked"
AEDB$SmokerStatus[SmokerCurrent == "no" & diet802 == "yes"] <- "Ex-smoker"
AEDB$SmokerStatus[SmokerCurrent == "yes"] <- "Current smoker"
AEDB$SmokerStatus[SmokerCurrent == "no data available/missing"] <- NA
# AEDB$SmokerStatus[is.na(SmokerCurrent)] <- "Never smoked"
detach(AEDB)

cat("\n* Current smoking status.\n")

* Current smoking status.
table(AEDB$SmokerCurrent,
      useNA = "ifany", 
      dnn = c("Current smoker"))
Current smoker
no data available/missing                        no                       yes                      <NA> 
                        0                      2364                      1310                       119 
cat("\n* Updated smoking status.\n")

* Updated smoking status.
table(AEDB$SmokerStatus,
      useNA = "ifany", 
      dnn = c("Updated smoking status"))
Updated smoking status
Current smoker      Ex-smoker   Never smoked           <NA> 
          1310           1814            389            280 
cat("\n* Comparing to 'SmokerCurrent'.\n")

* Comparing to 'SmokerCurrent'.
table(AEDB$SmokerStatus, AEDB$SmokerCurrent, 
      useNA = "ifany", 
      dnn = c("Updated smoking status", "Current smoker"))
                      Current smoker
Updated smoking status no data available/missing   no  yes <NA>
        Current smoker                         0    0 1310    0
        Ex-smoker                              0 1814    0    0
        Never smoked                           0  389    0    0
        <NA>                                   0  161    0  119
# AEDB.temp <- subset(AEDB,  select = c("STUDY_NUMBER", "UPID", "Age", "Gender", "Hospital", "Artery_summary", "DM.composite", "DiabetesStatus"))
# require(labelled)
# AEDB.temp$Gender <- to_factor(AEDB.temp$Gender)
# AEDB.temp$Hospital <- to_factor(AEDB.temp$Hospital)
# AEDB.temp$Artery_summary <- to_factor(AEDB.temp$Artery_summary)
# AEDB.temp$DiabetesStatus <- to_factor(AEDB.temp$DiabetesStatus)
# 
# DT::datatable(AEDB.temp[1:10,], caption = "Excerpt of the whole AEDB.", rownames = FALSE)
# 
# rm(AEDB.temp)

We will also fix the alcohol status variable.


# Fix diabetes
attach(AEDB)
AEDB[,"AlcoholUse"] <- NA
AEDB$AlcoholUse[diet810 == -999] <- NA
AEDB$AlcoholUse[diet810 == 0] <- "No"
AEDB$AlcoholUse[diet810 == 1] <- "Yes"
detach(AEDB)

table(AEDB$AlcoholUse)

  No  Yes 
1238 2346 
# AEDB.temp <- subset(AEDB,  select = c("STUDY_NUMBER", "UPID", "Age", "Gender", "Hospital", "Artery_summary", "diet810", "AlcoholUse"))
# require(labelled)
# AEDB.temp$Gender <- to_factor(AEDB.temp$Gender)
# AEDB.temp$Hospital <- to_factor(AEDB.temp$Hospital)
# AEDB.temp$Artery_summary <- to_factor(AEDB.temp$Artery_summary)
# AEDB.temp$AlcoholUse <- to_factor(AEDB.temp$AlcoholUse)
# 
# DT::datatable(AEDB.temp[1:10,], caption = "Excerpt of the whole AEDB.", rownames = FALSE)
# 
# rm(AEDB.temp)

We will also fix a history of CAD, stroke or peripheral intervention status variable. This will be based on CAD_history, Stroke_history, and Peripheral.interv


# Fix diabetes
attach(AEDB)
AEDB[,"MedHx_CVD"] <- NA
AEDB$MedHx_CVD[CAD_history == 0 | Stroke_history == 0 | Peripheral.interv == 0] <- "No"
AEDB$MedHx_CVD[CAD_history == 1 | Stroke_history == 1 | Peripheral.interv == 1] <- "yes"
detach(AEDB)

table(AEDB$CAD_history)

   0    1 
2432 1285 
table(AEDB$Stroke_history)

   0    1 
2764  948 
table(AEDB$Peripheral.interv)

   0    1 
2581 1099 
table(AEDB$MedHx_CVD)

  No  yes 
1310 2476 
# AEDB.temp <- subset(AEDB,  select = c("STUDY_NUMBER", "UPID", "Age", "Gender", "Hospital", "Artery_summary", "diet810", "AlcoholUse"))
# require(labelled)
# AEDB.temp$Gender <- to_factor(AEDB.temp$Gender)
# AEDB.temp$Hospital <- to_factor(AEDB.temp$Hospital)
# AEDB.temp$Artery_summary <- to_factor(AEDB.temp$Artery_summary)
# AEDB.temp$AlcoholUse <- to_factor(AEDB.temp$AlcoholUse)
# 
# DT::datatable(AEDB.temp[1:10,], caption = "Excerpt of the whole AEDB.", rownames = FALSE)
# 
# rm(AEDB.temp)

Athero-Express Biobank Study

Baseline characteristics

We are interested in the following variables at baseline.

  • Age (years)
  • Female sex (N, %)
  • Hypertension (N, %)
  • SBP (mmHg)
  • DBP (mmHg)
  • Diabetes mellitus (N, %)
  • Total cholesterol levels (mg/dL)
  • LDL cholesterol levels (mg/dL)
  • HDL cholesterol levels (mg/dL)
  • Triglyceride levels (mg/dL)
  • Use of statins (N, %)
  • Use of antiplatelet drugs (N, %)
  • BMI (kg/m²)
  • Smoking status (N, %)
    • Never smokers
    • Ex-smokers
    • Current smokers
  • History of CAD (N, %)
  • History of PAD (N, %)
  • Clinical manifestations
    • Asymptomatic
    • Amaurosis fugax
    • TIA
    • Stroke
  • eGFR (mL/min/1.73 m²)
  • MCP-1 plaque levels (pg/mL) (LUMINEX based, two experiments MCP1, and MCP1_pg_ug_2015)

NOT AVAILABLE YET - MCP-1 plasma levels (pg/mL) (OLINK based)

cat("===========================================================================================\n")
===========================================================================================
cat("CREATE BASELINE TABLE\n")
CREATE BASELINE TABLE
# Baseline table variables
basetable_vars = c("Hospital", "ORyear",
                   "Age", "Gender", 
                   "TC_finalCU", "LDL_finalCU", "HDL_finalCU", "TG_finalCU", 
                   "TC_final", "LDL_final", "HDL_final", "TG_final", 
                   "hsCRP_plasma",
                   "systolic", "diastoli", "GFR_MDRD", "BMI", 
                   "KDOQI", "BMI_WHO",
                   "SmokerStatus", "AlcoholUse",
                   "DiabetesStatus", 
                   "Hypertension.selfreport", "Hypertension.selfreportdrug", "Hypertension.composite", "Hypertension.drugs", 
                   "Med.anticoagulants", "Med.all.antiplatelet", "Med.Statin.LLD", 
                   "Stroke_Dx", "sympt", "Symptoms.5G", "AsymptSympt", "AsymptSympt2G",
                   "restenos", "stenose",
                   "MedHx_CVD", "CAD_history", "PAOD", "Peripheral.interv", 
                   "EP_composite", "EP_composite_time",
                   "macmean0", "smcmean0", "Macrophages.bin", "SMC.bin",
                   "neutrophils", "Mast_cells_plaque",
                   "IPH.bin", "vessel_density_averaged",
                   "Calc.bin", "Collagen.bin", 
                   "Fat.bin_10", "Fat.bin_40", "OverallPlaquePhenotype",
                   "IL6", "IL6_pg_ug_2015", "IL6R_pg_ug_2015",
                   "MCP1", "MCP1_pg_ug_2015", "MCP1_pg_ml_2015",
                   "MCP1_plasma_olink")

basetable_bin = c("Gender", 
                  "KDOQI", "BMI_WHO",
                  "SmokerStatus", "AlcoholUse",
                  "DiabetesStatus", 
                  "Hypertension.selfreport", "Hypertension.selfreportdrug", "Hypertension.composite", "Hypertension.drugs", 
                  "Med.anticoagulants", "Med.all.antiplatelet", "Med.Statin.LLD", 
                  "Stroke_Dx", "sympt", "Symptoms.5G", "AsymptSympt", "AsymptSympt2G",
                  "restenos", "stenose",
                  "CAD_history", "PAOD", "Peripheral.interv", 
                  "EP_composite", "Macrophages.bin", "SMC.bin",
                  "IPH.bin", 
                  "Calc.bin", "Collagen.bin", 
                  "Fat.bin_10", "Fat.bin_40", "OverallPlaquePhenotype")
# basetable_bin

basetable_con = basetable_vars[!basetable_vars %in% basetable_bin]
# basetable_con

All patients

Showing the baseline table of the whole Athero-Express Biobank.

# Create baseline tables
# http://rstudio-pubs-static.s3.amazonaws.com/13321_da314633db924dc78986a850813a50d5.html
AEDB.tableOne = print(CreateTableOne(vars = basetable_vars, 
                                         # factorVars = basetable_bin,
                                         # strata = "Symptoms.4g",
                                         data = AEDB, includeNA = TRUE), 
                          nonnormal = c(), missing = TRUE,
                          quote = FALSE, noSpaces = FALSE, showAllLevels = TRUE, explain = TRUE, 
                          format = "pf", 
                          contDigits = 3)[,1:3]
                                      
                                       level                                                                     Overall           Missing
  n                                                                                                                 3793                  
  Hospital % (freq)                    St. Antonius, Nieuwegein                                                     45.7 (1735)     0.0   
                                       UMC Utrecht                                                                  54.3 (2058)           
  ORyear % (freq)                      No data available/missing                                                     0.0 (   0)     0.0   
                                       2002                                                                          2.5 (  94)           
                                       2003                                                                          5.4 ( 204)           
                                       2004                                                                          7.6 ( 289)           
                                       2005                                                                          8.1 ( 309)           
                                       2006                                                                          7.5 ( 285)           
                                       2007                                                                          6.2 ( 234)           
                                       2008                                                                          5.9 ( 223)           
                                       2009                                                                          7.1 ( 268)           
                                       2010                                                                          8.1 ( 307)           
                                       2011                                                                          7.1 ( 270)           
                                       2012                                                                          8.2 ( 312)           
                                       2013                                                                          6.9 ( 262)           
                                       2014                                                                          7.9 ( 299)           
                                       2015                                                                          2.1 (  79)           
                                       2016                                                                          3.3 ( 124)           
                                       2017                                                                          2.2 (  85)           
                                       2018                                                                          2.1 (  80)           
                                       2019                                                                          1.8 (  69)           
  Age (mean (SD))                                                                                                 68.906 (9.322)    0.0   
  Gender % (freq)                      female                                                                       30.6 (1161)     0.0   
                                       male                                                                         69.4 (2632)           
  TC_finalCU (mean (SD))                                                                                         185.256 (81.509)  46.8   
  LDL_finalCU (mean (SD))                                                                                        106.533 (40.725)  54.5   
  HDL_finalCU (mean (SD))                                                                                         46.591 (16.725)  51.1   
  TG_finalCU (mean (SD))                                                                                         154.212 (99.774)  51.8   
  TC_final (mean (SD))                                                                                             4.798 (2.111)   46.8   
  LDL_final (mean (SD))                                                                                            2.759 (1.055)   54.5   
  HDL_final (mean (SD))                                                                                            1.207 (0.433)   51.1   
  TG_final (mean (SD))                                                                                             1.743 (1.127)   51.8   
  hsCRP_plasma (mean (SD))                                                                                        19.231 (206.750) 60.6   
  systolic (mean (SD))                                                                                           150.901 (25.114)  13.5   
  diastoli (mean (SD))                                                                                            79.933 (21.847)  13.5   
  GFR_MDRD (mean (SD))                                                                                            74.844 (24.740)   6.5   
  BMI (mean (SD))                                                                                                 26.336 (4.050)    7.5   
  KDOQI % (freq)                       No data available/missing                                                     0.0 (   0)     6.6   
                                       Normal kidney function                                                       22.1 ( 839)           
                                       CKD 2 (Mild)                                                                 47.2 (1789)           
                                       CKD 3 (Moderate)                                                             21.9 ( 831)           
                                       CKD 4 (Severe)                                                                1.4 (  53)           
                                       CKD 5 (Failure)                                                               0.8 (  32)           
                                       <NA>                                                                          6.6 ( 249)           
  BMI_WHO % (freq)                     No data available/missing                                                     0.0 (   0)     7.5   
                                       Underweight                                                                   1.2 (  44)           
                                       Normal                                                                       35.2 (1336)           
                                       Overweight                                                                   42.1 (1595)           
                                       Obese                                                                        14.1 ( 533)           
                                       <NA>                                                                          7.5 ( 285)           
  SmokerStatus % (freq)                Current smoker                                                               34.5 (1310)     7.4   
                                       Ex-smoker                                                                    47.8 (1814)           
                                       Never smoked                                                                 10.3 ( 389)           
                                       <NA>                                                                          7.4 ( 280)           
  AlcoholUse % (freq)                  No                                                                           32.6 (1238)     5.5   
                                       Yes                                                                          61.9 (2346)           
                                       <NA>                                                                          5.5 ( 209)           
  DiabetesStatus % (freq)              Control (no Diabetes Dx/Med)                                                 72.9 (2766)     1.1   
                                       Diabetes                                                                     26.0 ( 985)           
                                       <NA>                                                                          1.1 (  42)           
  Hypertension.selfreport % (freq)     No data available/missing                                                     0.0 (   0)     4.0   
                                       no                                                                           23.7 ( 900)           
                                       yes                                                                          72.3 (2742)           
                                       <NA>                                                                          4.0 ( 151)           
  Hypertension.selfreportdrug % (freq) No data available/missing                                                     0.0 (   0)     5.5   
                                       no                                                                           28.6 (1086)           
                                       yes                                                                          65.9 (2500)           
                                       <NA>                                                                          5.5 ( 207)           
  Hypertension.composite % (freq)      No data available/missing                                                     0.0 (   0)     1.3   
                                       no                                                                           13.3 ( 505)           
                                       yes                                                                          85.4 (3240)           
                                       <NA>                                                                          1.3 (  48)           
  Hypertension.drugs % (freq)          No data available/missing                                                     0.0 (   0)     1.5   
                                       no                                                                           21.0 ( 798)           
                                       yes                                                                          77.5 (2940)           
                                       <NA>                                                                          1.5 (  55)           
  Med.anticoagulants % (freq)          No data available/missing                                                     0.0 (   0)     1.6   
                                       no                                                                           85.6 (3248)           
                                       yes                                                                          12.8 ( 485)           
                                       <NA>                                                                          1.6 (  60)           
  Med.all.antiplatelet % (freq)        No data available/missing                                                     0.0 (   0)     1.6   
                                       no                                                                           13.7 ( 521)           
                                       yes                                                                          84.7 (3213)           
                                       <NA>                                                                          1.6 (  59)           
  Med.Statin.LLD % (freq)              No data available/missing                                                     0.0 (   0)     1.5   
                                       no                                                                           21.8 ( 826)           
                                       yes                                                                          76.7 (2911)           
                                       <NA>                                                                          1.5 (  56)           
  Stroke_Dx % (freq)                   Missing                                                                       0.0 (   0)     8.1   
                                       No stroke diagnosed                                                          74.4 (2823)           
                                       Stroke diagnosed                                                             17.5 ( 663)           
                                       <NA>                                                                          8.1 ( 307)           
  sympt % (freq)                       missing                                                                      29.1 (1103)     0.0   
                                       Asymptomatic                                                                  8.8 ( 333)           
                                       TIA                                                                          27.4 (1040)           
                                       minor stroke                                                                 12.1 ( 458)           
                                       Major stroke                                                                  7.3 ( 275)           
                                       Amaurosis fugax                                                              10.5 ( 399)           
                                       Four vessel disease                                                           1.1 (  43)           
                                       Vertebrobasilary TIA                                                          0.1 (   5)           
                                       Retinal infarction                                                            1.0 (  37)           
                                       Symptomatic, but aspecific symtoms                                            1.6 (  61)           
                                       Contralateral symptomatic occlusion                                           0.3 (  12)           
                                       retinal infarction                                                            0.2 (   6)           
                                       armclaudication due to occlusion subclavian artery, CEA needed for bypass     0.0 (   1)           
                                       retinal infarction + TIAs                                                     0.0 (   0)           
                                       Ocular ischemic syndrome                                                      0.5 (  18)           
                                       ischemisch glaucoom                                                           0.0 (   0)           
                                       subclavian steal syndrome                                                     0.1 (   2)           
                                       TGA                                                                           0.0 (   0)           
  Symptoms.5G % (freq)                 Asymptomatic                                                                  8.8 ( 333)    29.1   
                                       Ocular                                                                       11.0 ( 417)           
                                       Other                                                                         3.1 ( 119)           
                                       Retinal infarction                                                            1.1 (  43)           
                                       Stroke                                                                       19.3 ( 733)           
                                       TIA                                                                          27.6 (1045)           
                                       <NA>                                                                         29.1 (1103)           
  AsymptSympt % (freq)                 Asymptomatic                                                                  8.8 ( 333)    29.1   
                                       Ocular and others                                                            15.3 ( 579)           
                                       Symptomatic                                                                  46.9 (1778)           
                                       <NA>                                                                         29.1 (1103)           
  AsymptSympt2G % (freq)               Asymptomatic                                                                  8.8 ( 333)    29.1   
                                       Symptomatic                                                                  62.1 (2357)           
                                       <NA>                                                                         29.1 (1103)           
  restenos % (freq)                    missing                                                                       0.0 (   0)     4.0   
                                       de novo                                                                      87.0 (3299)           
                                       restenosis                                                                    8.8 ( 334)           
                                       stenose bij angioseal na PTCA                                                 0.2 (   7)           
                                       <NA>                                                                          4.0 ( 153)           
  stenose % (freq)                     missing                                                                       0.0 (   0)     7.0   
                                       0-49%                                                                         0.7 (  25)           
                                       50-70%                                                                        6.8 ( 257)           
                                       70-90%                                                                       35.6 (1349)           
                                       90-99%                                                                       29.9 (1133)           
                                       100% (Occlusion)                                                             14.8 ( 560)           
                                       NA                                                                            0.1 (   3)           
                                       50-99%                                                                        2.6 (  99)           
                                       70-99%                                                                        2.6 ( 100)           
                                       99                                                                            0.1 (   2)           
                                       <NA>                                                                          7.0 ( 265)           
  MedHx_CVD % (freq)                   No                                                                           34.5 (1310)     0.2   
                                       yes                                                                          65.3 (2476)           
                                       <NA>                                                                          0.2 (   7)           
  CAD_history % (freq)                 Missing                                                                       0.0 (   0)     2.0   
                                       No history CAD                                                               64.1 (2432)           
                                       History CAD                                                                  33.9 (1285)           
                                       <NA>                                                                          2.0 (  76)           
  PAOD % (freq)                        missing/no data                                                               0.0 (   0)     1.6   
                                       no                                                                           55.1 (2090)           
                                       yes                                                                          43.3 (1644)           
                                       <NA>                                                                          1.6 (  59)           
  Peripheral.interv % (freq)           no                                                                           68.0 (2581)     3.0   
                                       yes                                                                          29.0 (1099)           
                                       <NA>                                                                          3.0 ( 113)           
  EP_composite % (freq)                No data available.                                                            0.0 (   0)     7.3   
                                       No composite endpoints                                                       60.6 (2299)           
                                       Composite endpoints                                                          32.1 (1218)           
                                       <NA>                                                                          7.3 ( 276)           
  EP_composite_time (mean (SD))                                                                                    2.267 (1.203)    7.4   
  macmean0 (mean (SD))                                                                                             0.656 (1.154)   32.4   
  smcmean0 (mean (SD))                                                                                             2.292 (6.618)   32.4   
  Macrophages.bin % (freq)             no/minor                                                                     42.3 (1603)    25.7   
                                       moderate/heavy                                                               32.1 (1216)           
                                       <NA>                                                                         25.7 ( 974)           
  SMC.bin % (freq)                     no/minor                                                                     22.9 ( 870)    25.3   
                                       moderate/heavy                                                               51.8 (1964)           
                                       <NA>                                                                         25.3 ( 959)           
  neutrophils (mean (SD))                                                                                        162.985 (490.469) 91.0   
  Mast_cells_plaque (mean (SD))                                                                                  165.663 (163.421) 93.0   
  IPH.bin % (freq)                     no                                                                           32.3 (1225)    24.8   
                                       yes                                                                          42.9 (1628)           
                                       <NA>                                                                         24.8 ( 940)           
  vessel_density_averaged (mean (SD))                                                                              8.030 (6.344)   48.0   
  Calc.bin % (freq)                    no/minor                                                                     37.9 (1438)    24.7   
                                       moderate/heavy                                                               37.4 (1417)           
                                       <NA>                                                                         24.7 ( 938)           
  Collagen.bin % (freq)                no/minor                                                                     14.2 ( 540)    25.2   
                                       moderate/heavy                                                               60.6 (2299)           
                                       <NA>                                                                         25.2 ( 954)           
  Fat.bin_10 % (freq)                   <10%                                                                        32.3 (1226)    24.7   
                                        >10%                                                                        43.0 (1630)           
                                       <NA>                                                                         24.7 ( 937)           
  Fat.bin_40 % (freq)                  <40%                                                                         60.0 (2276)    24.7   
                                       >40%                                                                         15.3 ( 580)           
                                       <NA>                                                                         24.7 ( 937)           
  OverallPlaquePhenotype % (freq)      atheromatous                                                                 14.5 ( 550)    25.3   
                                       fibroatheromatous                                                            22.2 ( 843)           
                                       fibrous                                                                      37.9 (1439)           
                                       <NA>                                                                         25.3 ( 961)           
  IL6 (mean (SD))                                                                                                 94.451 (278.490) 84.5   
  IL6_pg_ug_2015 (mean (SD))                                                                                       0.134 (0.541)   67.2   
  IL6R_pg_ug_2015 (mean (SD))                                                                                      0.211 (0.251)   67.1   
  MCP1 (mean (SD))                                                                                               130.926 (118.422) 83.7   
  MCP1_pg_ug_2015 (mean (SD))                                                                                      0.596 (0.879)   65.4   
  MCP1_pg_ml_2015 (mean (SD))                                                                                    587.541 (843.110) 65.3   
  MCP1_plasma_olink (mean (SD))                                                                                    3.608 (0.578)   81.8   

CEA patients

Showing the baseline table of the CEA patients in the Athero-Express Biobank.

# Create baseline tables
# http://rstudio-pubs-static.s3.amazonaws.com/13321_da314633db924dc78986a850813a50d5.html
AEDB.CEA.tableOne = print(CreateTableOne(vars = basetable_vars, 
                                         # factorVars = basetable_bin,
                                         # strata = "Symptoms.4g",
                                         data = AEDB.CEA, includeNA = TRUE), 
                          nonnormal = c(), missing = TRUE,
                          quote = FALSE, noSpaces = FALSE, showAllLevels = TRUE, explain = TRUE, 
                          format = "pf", 
                          contDigits = 3)[,1:3]
                                      
                                       level                                                                     Overall           Missing
  n                                                                                                                 2423                  
  Hospital % (freq)                    St. Antonius, Nieuwegein                                                     39.1 ( 948)     0.0   
                                       UMC Utrecht                                                                  60.9 (1475)           
  ORyear % (freq)                      No data available/missing                                                     0.0 (   0)     0.0   
                                       2002                                                                          3.3 (  81)           
                                       2003                                                                          6.5 ( 157)           
                                       2004                                                                          7.8 ( 190)           
                                       2005                                                                          7.6 ( 185)           
                                       2006                                                                          7.6 ( 183)           
                                       2007                                                                          6.3 ( 152)           
                                       2008                                                                          5.7 ( 138)           
                                       2009                                                                          7.5 ( 182)           
                                       2010                                                                          6.6 ( 159)           
                                       2011                                                                          6.8 ( 164)           
                                       2012                                                                          7.3 ( 176)           
                                       2013                                                                          6.1 ( 149)           
                                       2014                                                                          6.7 ( 163)           
                                       2015                                                                          3.1 (  76)           
                                       2016                                                                          3.5 (  85)           
                                       2017                                                                          2.7 (  65)           
                                       2018                                                                          2.7 (  66)           
                                       2019                                                                          2.1 (  52)           
  Age (mean (SD))                                                                                                 69.103 (9.302)    0.0   
  Gender % (freq)                      female                                                                       30.5 ( 739)     0.0   
                                       male                                                                         69.5 (1684)           
  TC_finalCU (mean (SD))                                                                                         184.852 (56.275)  38.0   
  LDL_finalCU (mean (SD))                                                                                        108.484 (41.794)  45.6   
  HDL_finalCU (mean (SD))                                                                                         46.432 (16.999)  41.7   
  TG_finalCU (mean (SD))                                                                                         151.189 (91.249)  42.8   
  TC_final (mean (SD))                                                                                             4.788 (1.458)   38.0   
  LDL_final (mean (SD))                                                                                            2.810 (1.082)   45.6   
  HDL_final (mean (SD))                                                                                            1.203 (0.440)   41.7   
  TG_final (mean (SD))                                                                                             1.708 (1.031)   42.8   
  hsCRP_plasma (mean (SD))                                                                                        19.887 (231.453) 52.9   
  systolic (mean (SD))                                                                                           152.408 (25.163)  11.3   
  diastoli (mean (SD))                                                                                            81.314 (25.178)  11.3   
  GFR_MDRD (mean (SD))                                                                                            73.115 (21.145)   5.4   
  BMI (mean (SD))                                                                                                 26.488 (3.976)    5.9   
  KDOQI % (freq)                       No data available/missing                                                     0.0 (   0)     5.4   
                                       Normal kidney function                                                       19.1 ( 462)           
                                       CKD 2 (Mild)                                                                 50.9 (1233)           
                                       CKD 3 (Moderate)                                                             22.9 ( 554)           
                                       CKD 4 (Severe)                                                                1.3 (  32)           
                                       CKD 5 (Failure)                                                               0.4 (  10)           
                                       <NA>                                                                          5.4 ( 132)           
  BMI_WHO % (freq)                     No data available/missing                                                     0.0 (   0)     5.9   
                                       Underweight                                                                   1.0 (  24)           
                                       Normal                                                                       35.1 ( 851)           
                                       Overweight                                                                   43.4 (1052)           
                                       Obese                                                                        14.5 ( 352)           
                                       <NA>                                                                          5.9 ( 144)           
  SmokerStatus % (freq)                Current smoker                                                               33.2 ( 805)     5.9   
                                       Ex-smoker                                                                    48.0 (1163)           
                                       Never smoked                                                                 12.9 ( 313)           
                                       <NA>                                                                          5.9 ( 142)           
  AlcoholUse % (freq)                  No                                                                           34.5 ( 835)     4.1   
                                       Yes                                                                          61.5 (1489)           
                                       <NA>                                                                          4.1 (  99)           
  DiabetesStatus % (freq)              Control (no Diabetes Dx/Med)                                                 75.2 (1822)     1.1   
                                       Diabetes                                                                     23.7 ( 574)           
                                       <NA>                                                                          1.1 (  27)           
  Hypertension.selfreport % (freq)     No data available/missing                                                     0.0 (   0)     3.2   
                                       no                                                                           24.3 ( 590)           
                                       yes                                                                          72.4 (1755)           
                                       <NA>                                                                          3.2 (  78)           
  Hypertension.selfreportdrug % (freq) No data available/missing                                                     0.0 (   0)     4.4   
                                       no                                                                           30.0 ( 726)           
                                       yes                                                                          65.6 (1590)           
                                       <NA>                                                                          4.4 ( 107)           
  Hypertension.composite % (freq)      No data available/missing                                                     0.0 (   0)     1.2   
                                       no                                                                           14.6 ( 354)           
                                       yes                                                                          84.2 (2041)           
                                       <NA>                                                                          1.2 (  28)           
  Hypertension.drugs % (freq)          No data available/missing                                                     0.0 (   0)     1.4   
                                       no                                                                           23.4 ( 566)           
                                       yes                                                                          75.3 (1824)           
                                       <NA>                                                                          1.4 (  33)           
  Med.anticoagulants % (freq)          No data available/missing                                                     0.0 (   0)     1.6   
                                       no                                                                           87.3 (2116)           
                                       yes                                                                          11.1 ( 269)           
                                       <NA>                                                                          1.6 (  38)           
  Med.all.antiplatelet % (freq)        No data available/missing                                                     0.0 (   0)     1.5   
                                       no                                                                           12.2 ( 295)           
                                       yes                                                                          86.3 (2092)           
                                       <NA>                                                                          1.5 (  36)           
  Med.Statin.LLD % (freq)              No data available/missing                                                     0.0 (   0)     1.4   
                                       no                                                                           20.3 ( 491)           
                                       yes                                                                          78.3 (1898)           
                                       <NA>                                                                          1.4 (  34)           
  Stroke_Dx % (freq)                   Missing                                                                       0.0 (   0)     6.9   
                                       No stroke diagnosed                                                          71.5 (1732)           
                                       Stroke diagnosed                                                             21.7 ( 525)           
                                       <NA>                                                                          6.9 ( 166)           
  sympt % (freq)                       missing                                                                       0.0 (   0)     0.0   
                                       Asymptomatic                                                                 11.1 ( 270)           
                                       TIA                                                                          39.7 ( 961)           
                                       minor stroke                                                                 16.8 ( 407)           
                                       Major stroke                                                                  9.9 ( 239)           
                                       Amaurosis fugax                                                              15.7 ( 380)           
                                       Four vessel disease                                                           1.6 (  38)           
                                       Vertebrobasilary TIA                                                          0.2 (   5)           
                                       Retinal infarction                                                            1.4 (  34)           
                                       Symptomatic, but aspecific symtoms                                            2.2 (  53)           
                                       Contralateral symptomatic occlusion                                           0.5 (  11)           
                                       retinal infarction                                                            0.2 (   6)           
                                       armclaudication due to occlusion subclavian artery, CEA needed for bypass     0.0 (   1)           
                                       retinal infarction + TIAs                                                     0.0 (   0)           
                                       Ocular ischemic syndrome                                                      0.7 (  16)           
                                       ischemisch glaucoom                                                           0.0 (   0)           
                                       subclavian steal syndrome                                                     0.1 (   2)           
                                       TGA                                                                           0.0 (   0)           
  Symptoms.5G % (freq)                 Asymptomatic                                                                 11.1 ( 270)     0.0   
                                       Ocular                                                                       16.3 ( 396)           
                                       Other                                                                         4.3 ( 105)           
                                       Retinal infarction                                                            1.7 (  40)           
                                       Stroke                                                                       26.7 ( 646)           
                                       TIA                                                                          39.9 ( 966)           
  AsymptSympt % (freq)                 Asymptomatic                                                                 11.1 ( 270)     0.0   
                                       Ocular and others                                                            22.3 ( 541)           
                                       Symptomatic                                                                  66.5 (1612)           
  AsymptSympt2G % (freq)               Asymptomatic                                                                 11.1 ( 270)     0.0   
                                       Symptomatic                                                                  88.9 (2153)           
  restenos % (freq)                    missing                                                                       0.0 (   0)     1.4   
                                       de novo                                                                      93.7 (2270)           
                                       restenosis                                                                    4.9 ( 118)           
                                       stenose bij angioseal na PTCA                                                 0.0 (   0)           
                                       <NA>                                                                          1.4 (  35)           
  stenose % (freq)                     missing                                                                       0.0 (   0)     2.0   
                                       0-49%                                                                         0.5 (  13)           
                                       50-70%                                                                        7.8 ( 190)           
                                       70-90%                                                                       46.5 (1127)           
                                       90-99%                                                                       38.3 ( 928)           
                                       100% (Occlusion)                                                              1.3 (  31)           
                                       NA                                                                            0.0 (   1)           
                                       50-99%                                                                        0.6 (  15)           
                                       70-99%                                                                        2.8 (  68)           
                                       99                                                                            0.1 (   2)           
                                       <NA>                                                                          2.0 (  48)           
  MedHx_CVD % (freq)                   No                                                                           36.9 ( 893)     0.0   
                                       yes                                                                          63.1 (1530)           
  CAD_history % (freq)                 Missing                                                                       0.0 (   0)     1.9   
                                       No history CAD                                                               66.9 (1620)           
                                       History CAD                                                                  31.2 ( 756)           
                                       <NA>                                                                          1.9 (  47)           
  PAOD % (freq)                        missing/no data                                                               0.0 (   0)     2.0   
                                       no                                                                           77.5 (1878)           
                                       yes                                                                          20.5 ( 497)           
                                       <NA>                                                                          2.0 (  48)           
  Peripheral.interv % (freq)           no                                                                           77.2 (1870)     2.9   
                                       yes                                                                          19.9 ( 482)           
                                       <NA>                                                                          2.9 (  71)           
  EP_composite % (freq)                No data available.                                                            0.0 (   0)     5.0   
                                       No composite endpoints                                                       70.6 (1711)           
                                       Composite endpoints                                                          24.3 ( 590)           
                                       <NA>                                                                          5.0 ( 122)           
  EP_composite_time (mean (SD))                                                                                    2.479 (1.109)    5.2   
  macmean0 (mean (SD))                                                                                             0.767 (1.183)   29.7   
  smcmean0 (mean (SD))                                                                                             1.985 (2.380)   29.9   
  Macrophages.bin % (freq)             no/minor                                                                     35.0 ( 847)    24.1   
                                       moderate/heavy                                                               40.9 ( 992)           
                                       <NA>                                                                         24.1 ( 584)           
  SMC.bin % (freq)                     no/minor                                                                     24.8 ( 602)    23.8   
                                       moderate/heavy                                                               51.3 (1244)           
                                       <NA>                                                                         23.8 ( 577)           
  neutrophils (mean (SD))                                                                                        147.151 (419.998) 87.5   
  Mast_cells_plaque (mean (SD))                                                                                  164.488 (163.771) 90.0   
  IPH.bin % (freq)                     no                                                                           30.8 ( 746)    23.5   
                                       yes                                                                          45.7 (1108)           
                                       <NA>                                                                         23.5 ( 569)           
  vessel_density_averaged (mean (SD))                                                                              8.317 (6.384)   35.1   
  Calc.bin % (freq)                    no/minor                                                                     41.6 (1007)    23.4   
                                       moderate/heavy                                                               35.1 ( 850)           
                                       <NA>                                                                         23.4 ( 566)           
  Collagen.bin % (freq)                no/minor                                                                     15.8 ( 382)    23.6   
                                       moderate/heavy                                                               60.6 (1469)           
                                       <NA>                                                                         23.6 ( 572)           
  Fat.bin_10 % (freq)                   <10%                                                                        22.4 ( 542)    23.3   
                                        >10%                                                                        54.3 (1316)           
                                       <NA>                                                                         23.3 ( 565)           
  Fat.bin_40 % (freq)                  <40%                                                                         56.2 (1362)    23.3   
                                       >40%                                                                         20.5 ( 496)           
                                       <NA>                                                                         23.3 ( 565)           
  OverallPlaquePhenotype % (freq)      atheromatous                                                                 19.8 ( 480)    23.7   
                                       fibroatheromatous                                                            27.8 ( 674)           
                                       fibrous                                                                      28.7 ( 695)           
                                       <NA>                                                                         23.7 ( 574)           
  IL6 (mean (SD))                                                                                                 98.812 (292.457) 78.2   
  IL6_pg_ug_2015 (mean (SD))                                                                                       0.138 (0.556)   52.5   
  IL6R_pg_ug_2015 (mean (SD))                                                                                      0.211 (0.251)   52.4   
  MCP1 (mean (SD))                                                                                               135.763 (120.028) 76.7   
  MCP1_pg_ug_2015 (mean (SD))                                                                                      0.612 (0.904)   50.6   
  MCP1_pg_ml_2015 (mean (SD))                                                                                    600.444 (858.416) 50.5   
  MCP1_plasma_olink (mean (SD))                                                                                    3.608 (0.579)   71.6   

CEA patients with MCP1_pg_ug_2015

Showing the baseline table of the CEA patients in the Athero-Express Biobank with MCP1_pg_ug_2015.

AEDB.CEA.subset <- subset(AEDB.CEA, !is.na(MCP1_pg_ug_2015))

AEDB.CEA.subset.AsymptSympt.tableOne = print(CreateTableOne(vars = basetable_vars, 
                                         # factorVars = basetable_bin,
                                         strata = "AsymptSympt2G",
                                         data = AEDB.CEA.subset, includeNA = TRUE), 
                          nonnormal = c(), missing = TRUE,
                          quote = FALSE, noSpaces = FALSE, showAllLevels = TRUE, explain = TRUE, 
                          format = "pf", 
                          contDigits = 3)[,1:6]
no non-missing arguments to min; returning Infno non-missing arguments to max; returning -InfVariable has only NA's in at least one stratum. na.rm turned off.
                                      Stratified by AsymptSympt2G
                                       level                                                                     Asymptomatic      Symptomatic      
  n                                                                                                                  131              1067          
  Hospital % (freq)                    St. Antonius, Nieuwegein                                                     50.4 ( 66)        46.5 ( 496)   
                                       UMC Utrecht                                                                  49.6 ( 65)        53.5 ( 571)   
  ORyear % (freq)                      No data available/missing                                                     0.0 (  0)         0.0 (   0)   
                                       2002                                                                         10.7 ( 14)         3.9 (  42)   
                                       2003                                                                          7.6 ( 10)         9.4 ( 100)   
                                       2004                                                                         17.6 ( 23)        11.5 ( 123)   
                                       2005                                                                          9.9 ( 13)        11.2 ( 119)   
                                       2006                                                                         10.7 ( 14)        10.2 ( 109)   
                                       2007                                                                         11.5 ( 15)        10.5 ( 112)   
                                       2008                                                                          7.6 ( 10)         7.4 (  79)   
                                       2009                                                                          7.6 ( 10)         8.4 (  90)   
                                       2010                                                                          5.3 (  7)         7.6 (  81)   
                                       2011                                                                          6.1 (  8)         9.6 ( 102)   
                                       2012                                                                          5.3 (  7)         8.2 (  88)   
                                       2013                                                                          0.0 (  0)         2.0 (  21)   
                                       2014                                                                          0.0 (  0)         0.1 (   1)   
                                       2015                                                                          0.0 (  0)         0.0 (   0)   
                                       2016                                                                          0.0 (  0)         0.0 (   0)   
                                       2017                                                                          0.0 (  0)         0.0 (   0)   
                                       2018                                                                          0.0 (  0)         0.0 (   0)   
                                       2019                                                                          0.0 (  0)         0.0 (   0)   
  Age (mean (SD))                                                                                                 66.237 (9.184)    68.937 (9.119)  
  Gender % (freq)                      female                                                                       23.7 ( 31)        31.4 ( 335)   
                                       male                                                                         76.3 (100)        68.6 ( 732)   
  TC_finalCU (mean (SD))                                                                                         175.987 (47.184)  183.526 (48.426) 
  LDL_finalCU (mean (SD))                                                                                        102.781 (38.324)  109.377 (41.109) 
  HDL_finalCU (mean (SD))                                                                                         43.701 (14.754)   45.809 (18.513) 
  TG_finalCU (mean (SD))                                                                                         157.650 (89.246)  145.194 (84.818) 
  TC_final (mean (SD))                                                                                             4.558 (1.222)     4.753 (1.254)  
  LDL_final (mean (SD))                                                                                            2.662 (0.993)     2.833 (1.065)  
  HDL_final (mean (SD))                                                                                            1.132 (0.382)     1.186 (0.479)  
  TG_final (mean (SD))                                                                                             1.781 (1.008)     1.641 (0.958)  
  hsCRP_plasma (mean (SD))                                                                                         5.688 (19.440)   16.551 (113.708)
  systolic (mean (SD))                                                                                           153.577 (24.327)  155.790 (26.176) 
  diastoli (mean (SD))                                                                                            80.622 (13.225)   82.883 (13.573) 
  GFR_MDRD (mean (SD))                                                                                            71.026 (20.424)   71.866 (20.055) 
  BMI (mean (SD))                                                                                                 26.623 (3.391)    26.320 (3.745)  
  KDOQI % (freq)                       No data available/missing                                                     0.0 (  0)         0.0 (   0)   
                                       Normal kidney function                                                       17.6 ( 23)        17.2 ( 184)   
                                       CKD 2 (Mild)                                                                 49.6 ( 65)        53.2 ( 568)   
                                       CKD 3 (Moderate)                                                             28.2 ( 37)        24.4 ( 260)   
                                       CKD 4 (Severe)                                                                0.0 (  0)         1.2 (  13)   
                                       CKD 5 (Failure)                                                               0.8 (  1)         0.4 (   4)   
                                       <NA>                                                                          3.8 (  5)         3.6 (  38)   
  BMI_WHO % (freq)                     No data available/missing                                                     0.0 (  0)         0.0 (   0)   
                                       Underweight                                                                   0.8 (  1)         0.9 (  10)   
                                       Normal                                                                       32.8 ( 43)        35.6 ( 380)   
                                       Overweight                                                                   51.1 ( 67)        46.1 ( 492)   
                                       Obese                                                                        13.0 ( 17)        12.7 ( 136)   
                                       <NA>                                                                          2.3 (  3)         4.6 (  49)   
  SmokerStatus % (freq)                Current smoker                                                               30.5 ( 40)        36.3 ( 387)   
                                       Ex-smoker                                                                    57.3 ( 75)        45.5 ( 486)   
                                       Never smoked                                                                  9.9 ( 13)        14.2 ( 152)   
                                       <NA>                                                                          2.3 (  3)         3.9 (  42)   
  AlcoholUse % (freq)                  No                                                                           38.2 ( 50)        33.3 ( 355)   
                                       Yes                                                                          59.5 ( 78)        62.4 ( 666)   
                                       <NA>                                                                          2.3 (  3)         4.3 (  46)   
  DiabetesStatus % (freq)              Control (no Diabetes Dx/Med)                                                 76.3 (100)        77.4 ( 826)   
                                       Diabetes                                                                     23.7 ( 31)        22.6 ( 241)   
  Hypertension.selfreport % (freq)     No data available/missing                                                     0.0 (  0)         0.0 (   0)   
                                       no                                                                           23.7 ( 31)        26.6 ( 284)   
                                       yes                                                                          75.6 ( 99)        71.2 ( 760)   
                                       <NA>                                                                          0.8 (  1)         2.2 (  23)   
  Hypertension.selfreportdrug % (freq) No data available/missing                                                     0.0 (  0)         0.0 (   0)   
                                       no                                                                           30.5 ( 40)        32.9 ( 351)   
                                       yes                                                                          67.9 ( 89)        64.3 ( 686)   
                                       <NA>                                                                          1.5 (  2)         2.8 (  30)   
  Hypertension.composite % (freq)      No data available/missing                                                     0.0 (  0)         0.0 (   0)   
                                       no                                                                            9.9 ( 13)        14.3 ( 153)   
                                       yes                                                                          90.1 (118)        85.7 ( 914)   
  Hypertension.drugs % (freq)          No data available/missing                                                     0.0 (  0)         0.0 (   0)   
                                       no                                                                           14.5 ( 19)        23.3 ( 249)   
                                       yes                                                                          85.5 (112)        76.5 ( 816)   
                                       <NA>                                                                          0.0 (  0)         0.2 (   2)   
  Med.anticoagulants % (freq)          No data available/missing                                                     0.0 (  0)         0.0 (   0)   
                                       no                                                                           89.3 (117)        88.0 ( 939)   
                                       yes                                                                          10.7 ( 14)        11.8 ( 126)   
                                       <NA>                                                                          0.0 (  0)         0.2 (   2)   
  Med.all.antiplatelet % (freq)        No data available/missing                                                     0.0 (  0)         0.0 (   0)   
                                       no                                                                            6.1 (  8)        11.0 ( 117)   
                                       yes                                                                          93.1 (122)        88.7 ( 946)   
                                       <NA>                                                                          0.8 (  1)         0.4 (   4)   
  Med.Statin.LLD % (freq)              No data available/missing                                                     0.0 (  0)         0.0 (   0)   
                                       no                                                                           15.3 ( 20)        22.7 ( 242)   
                                       yes                                                                          84.7 (111)        77.1 ( 823)   
                                       <NA>                                                                          0.0 (  0)         0.2 (   2)   
  Stroke_Dx % (freq)                   Missing                                                                       0.0 (  0)         0.0 (   0)   
                                       No stroke diagnosed                                                          80.2 (105)        75.2 ( 802)   
                                       Stroke diagnosed                                                             14.5 ( 19)        19.5 ( 208)   
                                       <NA>                                                                          5.3 (  7)         5.3 (  57)   
  sympt % (freq)                       missing                                                                       0.0 (  0)         0.0 (   0)   
                                       Asymptomatic                                                                100.0 (131)         0.0 (   0)   
                                       TIA                                                                           0.0 (  0)        46.3 ( 494)   
                                       minor stroke                                                                  0.0 (  0)        16.7 ( 178)   
                                       Major stroke                                                                  0.0 (  0)        12.3 ( 131)   
                                       Amaurosis fugax                                                               0.0 (  0)        17.2 ( 184)   
                                       Four vessel disease                                                           0.0 (  0)         2.2 (  23)   
                                       Vertebrobasilary TIA                                                          0.0 (  0)         0.2 (   2)   
                                       Retinal infarction                                                            0.0 (  0)         1.4 (  15)   
                                       Symptomatic, but aspecific symtoms                                            0.0 (  0)         2.7 (  29)   
                                       Contralateral symptomatic occlusion                                           0.0 (  0)         0.6 (   6)   
                                       retinal infarction                                                            0.0 (  0)         0.3 (   3)   
                                       armclaudication due to occlusion subclavian artery, CEA needed for bypass     0.0 (  0)         0.1 (   1)   
                                       retinal infarction + TIAs                                                     0.0 (  0)         0.0 (   0)   
                                       Ocular ischemic syndrome                                                      0.0 (  0)         0.1 (   1)   
                                       ischemisch glaucoom                                                           0.0 (  0)         0.0 (   0)   
                                       subclavian steal syndrome                                                     0.0 (  0)         0.0 (   0)   
                                       TGA                                                                           0.0 (  0)         0.0 (   0)   
  Symptoms.5G % (freq)                 Asymptomatic                                                                100.0 (131)         0.0 (   0)   
                                       Ocular                                                                        0.0 (  0)        17.3 ( 185)   
                                       Other                                                                         0.0 (  0)         5.5 (  59)   
                                       Retinal infarction                                                            0.0 (  0)         1.7 (  18)   
                                       Stroke                                                                        0.0 (  0)        29.0 ( 309)   
                                       TIA                                                                           0.0 (  0)        46.5 ( 496)   
  AsymptSympt % (freq)                 Asymptomatic                                                                100.0 (131)         0.0 (   0)   
                                       Ocular and others                                                             0.0 (  0)        24.6 ( 262)   
                                       Symptomatic                                                                   0.0 (  0)        75.4 ( 805)   
  AsymptSympt2G % (freq)               Asymptomatic                                                                100.0 (131)         0.0 (   0)   
                                       Symptomatic                                                                   0.0 (  0)       100.0 (1067)   
  restenos % (freq)                    missing                                                                       0.0 (  0)         0.0 (   0)   
                                       de novo                                                                      93.9 (123)        94.8 (1011)   
                                       restenosis                                                                    2.3 (  3)         3.2 (  34)   
                                       stenose bij angioseal na PTCA                                                 0.0 (  0)         0.0 (   0)   
                                       <NA>                                                                          3.8 (  5)         2.1 (  22)   
  stenose % (freq)                     missing                                                                       0.0 (  0)         0.0 (   0)   
                                       0-49%                                                                         0.0 (  0)         0.6 (   6)   
                                       50-70%                                                                        3.1 (  4)         6.5 (  69)   
                                       70-90%                                                                       51.1 ( 67)        44.5 ( 475)   
                                       90-99%                                                                       41.2 ( 54)        42.7 ( 456)   
                                       100% (Occlusion)                                                              0.0 (  0)         0.9 (  10)   
                                       NA                                                                            0.0 (  0)         0.0 (   0)   
                                       50-99%                                                                        0.8 (  1)         0.4 (   4)   
                                       70-99%                                                                        0.0 (  0)         1.3 (  14)   
                                       99                                                                            0.0 (  0)         0.0 (   0)   
                                       <NA>                                                                          3.8 (  5)         3.1 (  33)   
  MedHx_CVD % (freq)                   No                                                                           38.9 ( 51)        36.9 ( 394)   
                                       yes                                                                          61.1 ( 80)        63.1 ( 673)   
  CAD_history % (freq)                 Missing                                                                       0.0 (  0)         0.0 (   0)   
                                       No history CAD                                                               61.8 ( 81)        69.9 ( 746)   
                                       History CAD                                                                  38.2 ( 50)        30.1 ( 321)   
  PAOD % (freq)                        missing/no data                                                               0.0 (  0)         0.0 (   0)   
                                       no                                                                           74.0 ( 97)        79.6 ( 849)   
                                       yes                                                                          26.0 ( 34)        20.4 ( 218)   
  Peripheral.interv % (freq)           no                                                                           74.0 ( 97)        82.6 ( 881)   
                                       yes                                                                          26.0 ( 34)        17.2 ( 183)   
                                       <NA>                                                                          0.0 (  0)         0.3 (   3)   
  EP_composite % (freq)                No data available.                                                            0.0 (  0)         0.0 (   0)   
                                       No composite endpoints                                                       67.2 ( 88)        74.3 ( 793)   
                                       Composite endpoints                                                          32.8 ( 43)        24.8 ( 265)   
                                       <NA>                                                                          0.0 (  0)         0.8 (   9)   
  EP_composite_time (mean (SD))                                                                                    2.614 (0.931)     2.614 (1.094)  
  macmean0 (mean (SD))                                                                                             0.837 (1.088)     0.780 (1.230)  
  smcmean0 (mean (SD))                                                                                             2.152 (1.861)     1.905 (2.221)  
  Macrophages.bin % (freq)             no/minor                                                                     48.9 ( 64)        47.4 ( 506)   
                                       moderate/heavy                                                               50.4 ( 66)        50.5 ( 539)   
                                       <NA>                                                                          0.8 (  1)         2.1 (  22)   
  SMC.bin % (freq)                     no/minor                                                                     22.9 ( 30)        32.1 ( 343)   
                                       moderate/heavy                                                               75.6 ( 99)        66.0 ( 704)   
                                       <NA>                                                                          1.5 (  2)         1.9 (  20)   
  neutrophils (mean (SD))                                                                                        157.643 (507.380) 172.872 (477.038)
  Mast_cells_plaque (mean (SD))                                                                                  111.400 (112.037) 183.284 (180.156)
  IPH.bin % (freq)                     no                                                                           41.2 ( 54)        38.1 ( 406)   
                                       yes                                                                          58.0 ( 76)        60.2 ( 642)   
                                       <NA>                                                                          0.8 (  1)         1.8 (  19)   
  vessel_density_averaged (mean (SD))                                                                              8.608 (6.547)     8.406 (6.463)  
                                      Stratified by AsymptSympt2G
                                       p      test Missing
  n                                                       
  Hospital % (freq)                     0.453       0.0   
                                                          
  ORyear % (freq)                       NaN         0.0   
                                                          
                                                          
                                                          
                                                          
                                                          
                                                          
                                                          
                                                          
                                                          
                                                          
                                                          
                                                          
                                                          
                                                          
                                                          
                                                          
                                                          
                                                          
  Age (mean (SD))                       0.001       0.0   
  Gender % (freq)                       0.087       0.0   
                                                          
  TC_finalCU (mean (SD))                0.174      33.5   
  LDL_finalCU (mean (SD))               0.183      39.6   
  HDL_finalCU (mean (SD))               0.318      36.4   
  TG_finalCU (mean (SD))                0.209      36.1   
  TC_final (mean (SD))                  0.174      33.5   
  LDL_final (mean (SD))                 0.183      39.6   
  HDL_final (mean (SD))                 0.318      36.4   
  TG_final (mean (SD))                  0.209      36.1   
  hsCRP_plasma (mean (SD))              0.380      38.7   
  systolic (mean (SD))                  0.397      13.9   
  diastoli (mean (SD))                  0.097      13.9   
  GFR_MDRD (mean (SD))                  0.658       3.5   
  BMI (mean (SD))                       0.381       4.2   
  KDOQI % (freq)                        NaN         3.6   
                                                          
                                                          
                                                          
                                                          
                                                          
                                                          
  BMI_WHO % (freq)                      NaN         4.3   
                                                          
                                                          
                                                          
                                                          
                                                          
  SmokerStatus % (freq)                 0.075       3.8   
                                                          
                                                          
                                                          
  AlcoholUse % (freq)                   0.342       4.1   
                                                          
                                                          
  DiabetesStatus % (freq)               0.867       0.0   
                                                          
  Hypertension.selfreport % (freq)      NaN         2.0   
                                                          
                                                          
                                                          
  Hypertension.selfreportdrug % (freq)  NaN         2.7   
                                                          
                                                          
                                                          
  Hypertension.composite % (freq)       NaN         0.0   
                                                          
                                                          
  Hypertension.drugs % (freq)           NaN         0.2   
                                                          
                                                          
                                                          
  Med.anticoagulants % (freq)           NaN         0.2   
                                                          
                                                          
                                                          
  Med.all.antiplatelet % (freq)         NaN         0.4   
                                                          
                                                          
                                                          
  Med.Statin.LLD % (freq)               NaN         0.2   
                                                          
                                                          
                                                          
  Stroke_Dx % (freq)                    NaN         5.3   
                                                          
                                                          
                                                          
  sympt % (freq)                        NaN         0.0   
                                                          
                                                          
                                                          
                                                          
                                                          
                                                          
                                                          
                                                          
                                                          
                                                          
                                                          
                                                          
                                                          
                                                          
                                                          
                                                          
                                                          
  Symptoms.5G % (freq)                 <0.001       0.0   
                                                          
                                                          
                                                          
                                                          
                                                          
  AsymptSympt % (freq)                 <0.001       0.0   
                                                          
                                                          
  AsymptSympt2G % (freq)               <0.001       0.0   
                                                          
  restenos % (freq)                     NaN         2.3   
                                                          
                                                          
                                                          
                                                          
  stenose % (freq)                      NaN         3.2   
                                                          
                                                          
                                                          
                                                          
                                                          
                                                          
                                                          
                                                          
                                                          
                                                          
  MedHx_CVD % (freq)                    0.724       0.0   
                                                          
  CAD_history % (freq)                  NaN         0.0   
                                                          
                                                          
  PAOD % (freq)                         NaN         0.0   
                                                          
                                                          
  Peripheral.interv % (freq)            0.041       0.3   
                                                          
                                                          
  EP_composite % (freq)                 NaN         0.8   
                                                          
                                                          
                                                          
  EP_composite_time (mean (SD))         0.998       0.9   
  macmean0 (mean (SD))                  0.618       2.3   
  smcmean0 (mean (SD))                  0.225       2.7   
  Macrophages.bin % (freq)              0.584       1.9   
                                                          
                                                          
  SMC.bin % (freq)                      0.087       1.8   
                                                          
                                                          
  neutrophils (mean (SD))               0.876      82.0   
  Mast_cells_plaque (mean (SD))         0.056      86.1   
  IPH.bin % (freq)                      0.571       1.7   
                                                          
                                                          
  vessel_density_averaged (mean (SD))   0.748       8.7   
 [ reached getOption("max.print") -- omitted 23 rows ]

CEA patients with MCP1_pg_ug_2015 and MCP1

Showing the baseline table of the CEA patients in the Athero-Express Biobank with MCP1_pg_ug_2015 and MCP1.


AEDB.CEA.subset.combo <- subset(AEDB.CEA, !is.na(MCP1_pg_ug_2015) | !is.na(MCP1))

AEDB.CEA.subset.combo.tableOne = print(CreateTableOne(vars = basetable_vars,
                                         # factorVars = basetable_bin,
                                         strata = "AsymptSympt2G",
                                         data = AEDB.CEA.subset.combo, includeNA = TRUE),
                          nonnormal = c(), missing = TRUE,
                          quote = FALSE, noSpaces = FALSE, showAllLevels = TRUE, explain = TRUE,
                          format = "pf",
                          contDigits = 3)[,1:6]
no non-missing arguments to min; returning Infno non-missing arguments to max; returning -InfVariable has only NA's in at least one stratum. na.rm turned off.
                                      Stratified by AsymptSympt2G
                                       level                                                                     Asymptomatic      Symptomatic      
  n                                                                                                                  161              1167          
  Hospital % (freq)                    St. Antonius, Nieuwegein                                                     52.2 ( 84)        46.9 ( 547)   
                                       UMC Utrecht                                                                  47.8 ( 77)        53.1 ( 620)   
  ORyear % (freq)                      No data available/missing                                                     0.0 (  0)         0.0 (   0)   
                                       2002                                                                         10.6 ( 17)         4.8 (  56)   
                                       2003                                                                         11.8 ( 19)        10.6 ( 124)   
                                       2004                                                                         19.9 ( 32)        12.2 ( 142)   
                                       2005                                                                         13.7 ( 22)        13.3 ( 155)   
                                       2006                                                                          8.7 ( 14)         9.9 ( 116)   
                                       2007                                                                          9.3 ( 15)         9.6 ( 112)   
                                       2008                                                                          6.2 ( 10)         6.8 (  79)   
                                       2009                                                                          6.2 ( 10)         7.7 (  90)   
                                       2010                                                                          4.3 (  7)         6.9 (  81)   
                                       2011                                                                          5.0 (  8)         8.7 ( 102)   
                                       2012                                                                          4.3 (  7)         7.5 (  88)   
                                       2013                                                                          0.0 (  0)         1.8 (  21)   
                                       2014                                                                          0.0 (  0)         0.1 (   1)   
                                       2015                                                                          0.0 (  0)         0.0 (   0)   
                                       2016                                                                          0.0 (  0)         0.0 (   0)   
                                       2017                                                                          0.0 (  0)         0.0 (   0)   
                                       2018                                                                          0.0 (  0)         0.0 (   0)   
                                       2019                                                                          0.0 (  0)         0.0 (   0)   
  Age (mean (SD))                                                                                                 65.901 (9.051)    68.785 (9.081)  
  Gender % (freq)                      female                                                                       23.0 ( 37)        30.4 ( 355)   
                                       male                                                                         77.0 (124)        69.6 ( 812)   
  TC_finalCU (mean (SD))                                                                                         179.199 (45.274)  184.078 (48.333) 
  LDL_finalCU (mean (SD))                                                                                        104.132 (37.590)  109.761 (41.318) 
  HDL_finalCU (mean (SD))                                                                                         44.749 (14.890)   45.803 (18.219) 
  TG_finalCU (mean (SD))                                                                                         158.699 (87.584)  145.901 (83.176) 
  TC_final (mean (SD))                                                                                             4.641 (1.173)     4.768 (1.252)  
  LDL_final (mean (SD))                                                                                            2.697 (0.974)     2.843 (1.070)  
  HDL_final (mean (SD))                                                                                            1.159 (0.386)     1.186 (0.472)  
  TG_final (mean (SD))                                                                                             1.793 (0.990)     1.649 (0.940)  
  hsCRP_plasma (mean (SD))                                                                                         6.846 (21.838)   16.179 (110.739)
  systolic (mean (SD))                                                                                           152.838 (24.600)  155.713 (26.406) 
  diastoli (mean (SD))                                                                                            80.824 (12.855)   82.863 (13.542) 
  GFR_MDRD (mean (SD))                                                                                            70.440 (19.793)   71.890 (20.127) 
  BMI (mean (SD))                                                                                                 26.626 (3.572)    26.350 (3.765)  
  KDOQI % (freq)                       No data available/missing                                                     0.0 (  0)         0.0 (   0)   
                                       Normal kidney function                                                       14.9 ( 24)        17.4 ( 203)   
                                       CKD 2 (Mild)                                                                 50.9 ( 82)        53.4 ( 623)   
                                       CKD 3 (Moderate)                                                             29.8 ( 48)        24.0 ( 280)   
                                       CKD 4 (Severe)                                                                0.0 (  0)         1.3 (  15)   
                                       CKD 5 (Failure)                                                               0.6 (  1)         0.4 (   5)   
                                       <NA>                                                                          3.7 (  6)         3.5 (  41)   
  BMI_WHO % (freq)                     No data available/missing                                                     0.0 (  0)         0.0 (   0)   
                                       Underweight                                                                   1.2 (  2)         0.9 (  11)   
                                       Normal                                                                       32.3 ( 52)        35.6 ( 415)   
                                       Overweight                                                                   49.7 ( 80)        45.6 ( 532)   
                                       Obese                                                                        13.7 ( 22)        13.1 ( 153)   
                                       <NA>                                                                          3.1 (  5)         4.8 (  56)   
  SmokerStatus % (freq)                Current smoker                                                               29.2 ( 47)        36.1 ( 421)   
                                       Ex-smoker                                                                    56.5 ( 91)        45.6 ( 532)   
                                       Never smoked                                                                 11.8 ( 19)        14.1 ( 165)   
                                       <NA>                                                                          2.5 (  4)         4.2 (  49)   
  AlcoholUse % (freq)                  No                                                                           38.5 ( 62)        33.6 ( 392)   
                                       Yes                                                                          59.6 ( 96)        62.2 ( 726)   
                                       <NA>                                                                          1.9 (  3)         4.2 (  49)   
  DiabetesStatus % (freq)              Control (no Diabetes Dx/Med)                                                 78.3 (126)        77.3 ( 902)   
                                       Diabetes                                                                     21.7 ( 35)        22.7 ( 265)   
  Hypertension.selfreport % (freq)     No data available/missing                                                     0.0 (  0)         0.0 (   0)   
                                       no                                                                           25.5 ( 41)        26.6 ( 310)   
                                       yes                                                                          73.9 (119)        71.4 ( 833)   
                                       <NA>                                                                          0.6 (  1)         2.1 (  24)   
  Hypertension.selfreportdrug % (freq) No data available/missing                                                     0.0 (  0)         0.0 (   0)   
                                       no                                                                           32.3 ( 52)        32.9 ( 384)   
                                       yes                                                                          66.5 (107)        64.5 ( 753)   
                                       <NA>                                                                          1.2 (  2)         2.6 (  30)   
  Hypertension.composite % (freq)      No data available/missing                                                     0.0 (  0)         0.0 (   0)   
                                       no                                                                           11.2 ( 18)        14.1 ( 165)   
                                       yes                                                                          88.8 (143)        85.9 (1002)   
  Hypertension.drugs % (freq)          No data available/missing                                                     0.0 (  0)         0.0 (   0)   
                                       no                                                                           15.5 ( 25)        22.8 ( 266)   
                                       yes                                                                          83.9 (135)        77.0 ( 899)   
                                       <NA>                                                                          0.6 (  1)         0.2 (   2)   
  Med.anticoagulants % (freq)          No data available/missing                                                     0.0 (  0)         0.0 (   0)   
                                       no                                                                           89.4 (144)        88.0 (1027)   
                                       yes                                                                           9.9 ( 16)        11.8 ( 138)   
                                       <NA>                                                                          0.6 (  1)         0.2 (   2)   
  Med.all.antiplatelet % (freq)        No data available/missing                                                     0.0 (  0)         0.0 (   0)   
                                       no                                                                            6.2 ( 10)        10.8 ( 126)   
                                       yes                                                                          92.5 (149)        88.9 (1037)   
                                       <NA>                                                                          1.2 (  2)         0.3 (   4)   
  Med.Statin.LLD % (freq)              No data available/missing                                                     0.0 (  0)         0.0 (   0)   
                                       no                                                                           17.4 ( 28)        23.1 ( 270)   
                                       yes                                                                          82.0 (132)        76.7 ( 895)   
                                       <NA>                                                                          0.6 (  1)         0.2 (   2)   
  Stroke_Dx % (freq)                   Missing                                                                       0.0 (  0)         0.0 (   0)   
                                       No stroke diagnosed                                                          80.1 (129)        75.5 ( 881)   
                                       Stroke diagnosed                                                             13.7 ( 22)        19.1 ( 223)   
                                       <NA>                                                                          6.2 ( 10)         5.4 (  63)   
  sympt % (freq)                       missing                                                                       0.0 (  0)         0.0 (   0)   
                                       Asymptomatic                                                                100.0 (161)         0.0 (   0)   
                                       TIA                                                                           0.0 (  0)        46.5 ( 543)   
                                       minor stroke                                                                  0.0 (  0)        17.1 ( 200)   
                                       Major stroke                                                                  0.0 (  0)        11.7 ( 136)   
                                       Amaurosis fugax                                                               0.0 (  0)        17.0 ( 198)   
                                       Four vessel disease                                                           0.0 (  0)         2.1 (  25)   
                                       Vertebrobasilary TIA                                                          0.0 (  0)         0.2 (   2)   
                                       Retinal infarction                                                            0.0 (  0)         1.4 (  16)   
                                       Symptomatic, but aspecific symtoms                                            0.0 (  0)         3.1 (  36)   
                                       Contralateral symptomatic occlusion                                           0.0 (  0)         0.5 (   6)   
                                       retinal infarction                                                            0.0 (  0)         0.3 (   3)   
                                       armclaudication due to occlusion subclavian artery, CEA needed for bypass     0.0 (  0)         0.1 (   1)   
                                       retinal infarction + TIAs                                                     0.0 (  0)         0.0 (   0)   
                                       Ocular ischemic syndrome                                                      0.0 (  0)         0.1 (   1)   
                                       ischemisch glaucoom                                                           0.0 (  0)         0.0 (   0)   
                                       subclavian steal syndrome                                                     0.0 (  0)         0.0 (   0)   
                                       TGA                                                                           0.0 (  0)         0.0 (   0)   
  Symptoms.5G % (freq)                 Asymptomatic                                                                100.0 (161)         0.0 (   0)   
                                       Ocular                                                                        0.0 (  0)        17.1 ( 199)   
                                       Other                                                                         0.0 (  0)         5.8 (  68)   
                                       Retinal infarction                                                            0.0 (  0)         1.6 (  19)   
                                       Stroke                                                                        0.0 (  0)        28.8 ( 336)   
                                       TIA                                                                           0.0 (  0)        46.7 ( 545)   
  AsymptSympt % (freq)                 Asymptomatic                                                                100.0 (161)         0.0 (   0)   
                                       Ocular and others                                                             0.0 (  0)        24.5 ( 286)   
                                       Symptomatic                                                                   0.0 (  0)        75.5 ( 881)   
  AsymptSympt2G % (freq)               Asymptomatic                                                                100.0 (161)         0.0 (   0)   
                                       Symptomatic                                                                   0.0 (  0)       100.0 (1167)   
  restenos % (freq)                    missing                                                                       0.0 (  0)         0.0 (   0)   
                                       de novo                                                                      93.2 (150)        95.0 (1109)   
                                       restenosis                                                                    3.7 (  6)         3.1 (  36)   
                                       stenose bij angioseal na PTCA                                                 0.0 (  0)         0.0 (   0)   
                                       <NA>                                                                          3.1 (  5)         1.9 (  22)   
  stenose % (freq)                     missing                                                                       0.0 (  0)         0.0 (   0)   
                                       0-49%                                                                         0.0 (  0)         0.6 (   7)   
                                       50-70%                                                                        2.5 (  4)         6.3 (  73)   
                                       70-90%                                                                       50.9 ( 82)        44.6 ( 520)   
                                       90-99%                                                                       42.9 ( 69)        43.3 ( 505)   
                                       100% (Occlusion)                                                              0.0 (  0)         0.9 (  11)   
                                       NA                                                                            0.0 (  0)         0.0 (   0)   
                                       50-99%                                                                        0.6 (  1)         0.3 (   4)   
                                       70-99%                                                                        0.0 (  0)         1.2 (  14)   
                                       99                                                                            0.0 (  0)         0.0 (   0)   
                                       <NA>                                                                          3.1 (  5)         2.8 (  33)   
  MedHx_CVD % (freq)                   No                                                                           37.3 ( 60)        36.8 ( 429)   
                                       yes                                                                          62.7 (101)        63.2 ( 738)   
  CAD_history % (freq)                 Missing                                                                       0.0 (  0)         0.0 (   0)   
                                       No history CAD                                                               59.0 ( 95)        69.2 ( 807)   
                                       History CAD                                                                  41.0 ( 66)        30.8 ( 360)   
  PAOD % (freq)                        missing/no data                                                               0.0 (  0)         0.0 (   0)   
                                       no                                                                           73.9 (119)        79.9 ( 932)   
                                       yes                                                                          26.1 ( 42)        20.1 ( 235)   
  Peripheral.interv % (freq)           no                                                                           72.7 (117)        83.0 ( 969)   
                                       yes                                                                          27.3 ( 44)        16.7 ( 195)   
                                       <NA>                                                                          0.0 (  0)         0.3 (   3)   
  EP_composite % (freq)                No data available.                                                            0.0 (  0)         0.0 (   0)   
                                       No composite endpoints                                                       68.3 (110)        73.9 ( 862)   
                                       Composite endpoints                                                          31.7 ( 51)        25.2 ( 294)   
                                       <NA>                                                                          0.0 (  0)         0.9 (  11)   
  EP_composite_time (mean (SD))                                                                                    2.579 (0.961)     2.612 (1.129)  
  macmean0 (mean (SD))                                                                                             0.802 (1.072)     0.821 (1.275)  
  smcmean0 (mean (SD))                                                                                             2.445 (2.594)     1.924 (2.233)  
  Macrophages.bin % (freq)             no/minor                                                                     50.3 ( 81)        45.8 ( 534)   
                                       moderate/heavy                                                               49.1 ( 79)        52.3 ( 610)   
                                       <NA>                                                                          0.6 (  1)         2.0 (  23)   
  SMC.bin % (freq)                     no/minor                                                                     21.7 ( 35)        32.5 ( 379)   
                                       moderate/heavy                                                               77.0 (124)        65.8 ( 768)   
                                       <NA>                                                                          1.2 (  2)         1.7 (  20)   
  neutrophils (mean (SD))                                                                                        133.447 (437.032) 158.140 (448.512)
  Mast_cells_plaque (mean (SD))                                                                                  123.389 (135.924) 173.244 (168.601)
  IPH.bin % (freq)                     no                                                                           39.1 ( 63)        36.4 ( 425)   
                                       yes                                                                          60.2 ( 97)        62.0 ( 723)   
                                       <NA>                                                                          0.6 (  1)         1.6 (  19)   
  vessel_density_averaged (mean (SD))                                                                              8.837 (6.727)     8.438 (6.388)  
                                      Stratified by AsymptSympt2G
                                       p      test Missing
  n                                                       
  Hospital % (freq)                     0.239       0.0   
                                                          
  ORyear % (freq)                       NaN         0.0   
                                                          
                                                          
                                                          
                                                          
                                                          
                                                          
                                                          
                                                          
                                                          
                                                          
                                                          
                                                          
                                                          
                                                          
                                                          
                                                          
                                                          
                                                          
  Age (mean (SD))                      <0.001       0.0   
  Gender % (freq)                       0.065       0.0   
                                                          
  TC_finalCU (mean (SD))                0.322      32.8   
  LDL_finalCU (mean (SD))               0.206      39.8   
  HDL_finalCU (mean (SD))               0.570      36.1   
  TG_finalCU (mean (SD))                0.141      35.6   
  TC_final (mean (SD))                  0.322      32.8   
  LDL_final (mean (SD))                 0.206      39.8   
  HDL_final (mean (SD))                 0.570      36.1   
  TG_final (mean (SD))                  0.141      35.6   
  hsCRP_plasma (mean (SD))              0.394      40.6   
  systolic (mean (SD))                  0.230      13.5   
  diastoli (mean (SD))                  0.097      13.5   
  GFR_MDRD (mean (SD))                  0.400       3.5   
  BMI (mean (SD))                       0.387       4.4   
  KDOQI % (freq)                        NaN         3.5   
                                                          
                                                          
                                                          
                                                          
                                                          
                                                          
  BMI_WHO % (freq)                      NaN         4.6   
                                                          
                                                          
                                                          
                                                          
                                                          
  SmokerStatus % (freq)                 0.069       4.0   
                                                          
                                                          
                                                          
  AlcoholUse % (freq)                   0.210       3.9   
                                                          
                                                          
  DiabetesStatus % (freq)               0.861       0.0   
                                                          
  Hypertension.selfreport % (freq)      NaN         1.9   
                                                          
                                                          
                                                          
  Hypertension.selfreportdrug % (freq)  NaN         2.4   
                                                          
                                                          
                                                          
  Hypertension.composite % (freq)       NaN         0.0   
                                                          
                                                          
  Hypertension.drugs % (freq)           NaN         0.2   
                                                          
                                                          
                                                          
  Med.anticoagulants % (freq)           NaN         0.2   
                                                          
                                                          
                                                          
  Med.all.antiplatelet % (freq)         NaN         0.5   
                                                          
                                                          
                                                          
  Med.Statin.LLD % (freq)               NaN         0.2   
                                                          
                                                          
                                                          
  Stroke_Dx % (freq)                    NaN         5.5   
                                                          
                                                          
                                                          
  sympt % (freq)                        NaN         0.0   
                                                          
                                                          
                                                          
                                                          
                                                          
                                                          
                                                          
                                                          
                                                          
                                                          
                                                          
                                                          
                                                          
                                                          
                                                          
                                                          
                                                          
  Symptoms.5G % (freq)                 <0.001       0.0   
                                                          
                                                          
                                                          
                                                          
                                                          
  AsymptSympt % (freq)                 <0.001       0.0   
                                                          
                                                          
  AsymptSympt2G % (freq)               <0.001       0.0   
                                                          
  restenos % (freq)                     NaN         2.0   
                                                          
                                                          
                                                          
                                                          
  stenose % (freq)                      NaN         2.9   
                                                          
                                                          
                                                          
                                                          
                                                          
                                                          
                                                          
                                                          
                                                          
                                                          
  MedHx_CVD % (freq)                    0.970       0.0   
                                                          
  CAD_history % (freq)                  NaN         0.0   
                                                          
                                                          
  PAOD % (freq)                         NaN         0.0   
                                                          
                                                          
  Peripheral.interv % (freq)            0.004       0.2   
                                                          
                                                          
  EP_composite % (freq)                 NaN         0.8   
                                                          
                                                          
                                                          
  EP_composite_time (mean (SD))         0.729       1.0   
  macmean0 (mean (SD))                  0.862       2.2   
  smcmean0 (mean (SD))                  0.007       2.5   
  Macrophages.bin % (freq)              0.311       1.8   
                                                          
                                                          
  SMC.bin % (freq)                      0.018       1.7   
                                                          
                                                          
  neutrophils (mean (SD))               0.754      80.9   
  Mast_cells_plaque (mean (SD))         0.097      83.7   
  IPH.bin % (freq)                      0.521       1.5   
                                                          
                                                          
  vessel_density_averaged (mean (SD))   0.478       8.0   
 [ reached getOption("max.print") -- omitted 23 rows ]

CEA patients with plasma MCP1 levels

Showing the baseline table of the CEA patients in the Athero-Express Biobank with plasma MCP1 levels.

Note plasma MCP1 was only measured in symptomatic patients.

AEDB.CEA.subset.plasma <- subset(AEDB.CEA, !is.na(MCP1_plasma_olink))

AEDB.CEA.subset.plasma.tableOne = print(CreateTableOne(vars = basetable_vars, 
                                         # factorVars = basetable_bin,
                                         # strata = "AsymptSympt2G",
                                         data = AEDB.CEA.subset.plasma, includeNA = TRUE), 
                          nonnormal = c(), missing = TRUE,
                          quote = FALSE, noSpaces = FALSE, showAllLevels = TRUE, explain = TRUE, 
                          format = "pf", 
                          contDigits = 3)[,1:3]
                                      
                                       level                                                                     Overall           Missing
  n                                                                                                                  687                  
  Hospital % (freq)                    St. Antonius, Nieuwegein                                                     43.2 (297)      0.0   
                                       UMC Utrecht                                                                  56.8 (390)            
  ORyear % (freq)                      No data available/missing                                                     0.0 (  0)      0.0   
                                       2002                                                                          3.6 ( 25)            
                                       2003                                                                          7.3 ( 50)            
                                       2004                                                                          5.2 ( 36)            
                                       2005                                                                          6.4 ( 44)            
                                       2006                                                                          6.0 ( 41)            
                                       2007                                                                          7.4 ( 51)            
                                       2008                                                                          7.0 ( 48)            
                                       2009                                                                          9.9 ( 68)            
                                       2010                                                                          7.6 ( 52)            
                                       2011                                                                          7.6 ( 52)            
                                       2012                                                                          7.3 ( 50)            
                                       2013                                                                          8.6 ( 59)            
                                       2014                                                                          7.0 ( 48)            
                                       2015                                                                          1.3 (  9)            
                                       2016                                                                          4.7 ( 32)            
                                       2017                                                                          2.9 ( 20)            
                                       2018                                                                          0.3 (  2)            
                                       2019                                                                          0.0 (  0)            
  Age (mean (SD))                                                                                                 69.898 (9.153)    0.0   
  Gender % (freq)                      female                                                                       31.6 (217)      0.0   
                                       male                                                                         68.4 (470)            
  TC_finalCU (mean (SD))                                                                                         179.475 (45.383)  30.1   
  LDL_finalCU (mean (SD))                                                                                        105.024 (39.821)  33.3   
  HDL_finalCU (mean (SD))                                                                                         46.057 (15.806)  32.8   
  TG_finalCU (mean (SD))                                                                                         139.370 (78.941)  33.8   
  TC_final (mean (SD))                                                                                             4.648 (1.175)   30.1   
  LDL_final (mean (SD))                                                                                            2.720 (1.031)   33.3   
  HDL_final (mean (SD))                                                                                            1.193 (0.409)   32.8   
  TG_final (mean (SD))                                                                                             1.575 (0.892)   33.8   
  hsCRP_plasma (mean (SD))                                                                                        26.267 (315.609) 19.7   
  systolic (mean (SD))                                                                                           151.955 (24.817)  10.2   
  diastoli (mean (SD))                                                                                            81.633 (30.976)  10.3   
  GFR_MDRD (mean (SD))                                                                                            72.860 (20.885)   4.9   
  BMI (mean (SD))                                                                                                 26.209 (3.847)    4.4   
  KDOQI % (freq)                       No data available/missing                                                     0.0 (  0)      4.9   
                                       Normal kidney function                                                       17.9 (123)            
                                       CKD 2 (Mild)                                                                 52.1 (358)            
                                       CKD 3 (Moderate)                                                             23.3 (160)            
                                       CKD 4 (Severe)                                                                1.6 ( 11)            
                                       CKD 5 (Failure)                                                               0.1 (  1)            
                                       <NA>                                                                          4.9 ( 34)            
  BMI_WHO % (freq)                     No data available/missing                                                     0.0 (  0)      4.5   
                                       Underweight                                                                   0.9 (  6)            
                                       Normal                                                                       39.7 (273)            
                                       Overweight                                                                   42.1 (289)            
                                       Obese                                                                        12.8 ( 88)            
                                       <NA>                                                                          4.5 ( 31)            
  SmokerStatus % (freq)                Current smoker                                                               35.1 (241)      4.2   
                                       Ex-smoker                                                                    48.3 (332)            
                                       Never smoked                                                                 12.4 ( 85)            
                                       <NA>                                                                          4.2 ( 29)            
  AlcoholUse % (freq)                  No                                                                           34.5 (237)      3.5   
                                       Yes                                                                          62.0 (426)            
                                       <NA>                                                                          3.5 ( 24)            
  DiabetesStatus % (freq)              Control (no Diabetes Dx/Med)                                                 76.3 (524)      0.0   
                                       Diabetes                                                                     23.7 (163)            
  Hypertension.selfreport % (freq)     No data available/missing                                                     0.0 (  0)      2.9   
                                       no                                                                           28.4 (195)            
                                       yes                                                                          68.7 (472)            
                                       <NA>                                                                          2.9 ( 20)            
  Hypertension.selfreportdrug % (freq) No data available/missing                                                     0.0 (  0)      3.1   
                                       no                                                                           34.5 (237)            
                                       yes                                                                          62.4 (429)            
                                       <NA>                                                                          3.1 ( 21)            
  Hypertension.composite % (freq)      No data available/missing                                                     0.0 (  0)      0.1   
                                       no                                                                           19.1 (131)            
                                       yes                                                                          80.8 (555)            
                                       <NA>                                                                          0.1 (  1)            
  Hypertension.drugs % (freq)          No data available/missing                                                     0.0 (  0)      0.3   
                                       no                                                                           27.2 (187)            
                                       yes                                                                          72.5 (498)            
                                       <NA>                                                                          0.3 (  2)            
  Med.anticoagulants % (freq)          No data available/missing                                                     0.0 (  0)      0.3   
                                       no                                                                           88.8 (610)            
                                       yes                                                                          10.9 ( 75)            
                                       <NA>                                                                          0.3 (  2)            
  Med.all.antiplatelet % (freq)        No data available/missing                                                     0.0 (  0)      0.4   
                                       no                                                                           13.1 ( 90)            
                                       yes                                                                          86.5 (594)            
                                       <NA>                                                                          0.4 (  3)            
  Med.Statin.LLD % (freq)              No data available/missing                                                     0.0 (  0)      0.3   
                                       no                                                                           22.3 (153)            
                                       yes                                                                          77.4 (532)            
                                       <NA>                                                                          0.3 (  2)            
  Stroke_Dx % (freq)                   Missing                                                                       0.0 (  0)      4.7   
                                       No stroke diagnosed                                                          70.6 (485)            
                                       Stroke diagnosed                                                             24.7 (170)            
                                       <NA>                                                                          4.7 ( 32)            
  sympt % (freq)                       missing                                                                       0.0 (  0)      0.0   
                                       Asymptomatic                                                                  0.0 (  0)            
                                       TIA                                                                          46.9 (322)            
                                       minor stroke                                                                 20.5 (141)            
                                       Major stroke                                                                 11.1 ( 76)            
                                       Amaurosis fugax                                                              16.4 (113)            
                                       Four vessel disease                                                           0.0 (  0)            
                                       Vertebrobasilary TIA                                                          0.1 (  1)            
                                       Retinal infarction                                                            2.3 ( 16)            
                                       Symptomatic, but aspecific symtoms                                            2.5 ( 17)            
                                       Contralateral symptomatic occlusion                                           0.0 (  0)            
                                       retinal infarction                                                            0.1 (  1)            
                                       armclaudication due to occlusion subclavian artery, CEA needed for bypass     0.0 (  0)            
                                       retinal infarction + TIAs                                                     0.0 (  0)            
                                       Ocular ischemic syndrome                                                      0.0 (  0)            
                                       ischemisch glaucoom                                                           0.0 (  0)            
                                       subclavian steal syndrome                                                     0.0 (  0)            
                                       TGA                                                                           0.0 (  0)            
  Symptoms.5G % (freq)                 Asymptomatic                                                                  0.0 (  0)      0.0   
                                       Ocular                                                                       16.4 (113)            
                                       Other                                                                         2.5 ( 17)            
                                       Retinal infarction                                                            2.5 ( 17)            
                                       Stroke                                                                       31.6 (217)            
                                       TIA                                                                          47.0 (323)            
  AsymptSympt % (freq)                 Asymptomatic                                                                  0.0 (  0)      0.0   
                                       Ocular and others                                                            21.4 (147)            
                                       Symptomatic                                                                  78.6 (540)            
  AsymptSympt2G % (freq)               Asymptomatic                                                                  0.0 (  0)      0.0   
                                       Symptomatic                                                                 100.0 (687)            
  restenos % (freq)                    missing                                                                       0.0 (  0)      1.6   
                                       de novo                                                                      94.5 (649)            
                                       restenosis                                                                    3.9 ( 27)            
                                       stenose bij angioseal na PTCA                                                 0.0 (  0)            
                                       <NA>                                                                          1.6 ( 11)            
  stenose % (freq)                     missing                                                                       0.0 (  0)      2.8   
                                       0-49%                                                                         0.9 (  6)            
                                       50-70%                                                                        8.4 ( 58)            
                                       70-90%                                                                       45.6 (313)            
                                       90-99%                                                                       38.3 (263)            
                                       100% (Occlusion)                                                              0.7 (  5)            
                                       NA                                                                            0.0 (  0)            
                                       50-99%                                                                        0.9 (  6)            
                                       70-99%                                                                        2.3 ( 16)            
                                       99                                                                            0.1 (  1)            
                                       <NA>                                                                          2.8 ( 19)            
  MedHx_CVD % (freq)                   No                                                                           38.0 (261)      0.0   
                                       yes                                                                          62.0 (426)            
  CAD_history % (freq)                 Missing                                                                       0.0 (  0)      0.4   
                                       No history CAD                                                               70.5 (484)            
                                       History CAD                                                                  29.1 (200)            
                                       <NA>                                                                          0.4 (  3)            
  PAOD % (freq)                        missing/no data                                                               0.0 (  0)      0.7   
                                       no                                                                           82.4 (566)            
                                       yes                                                                          16.9 (116)            
                                       <NA>                                                                          0.7 (  5)            
  Peripheral.interv % (freq)           no                                                                           81.5 (560)      1.2   
                                       yes                                                                          17.3 (119)            
                                       <NA>                                                                          1.2 (  8)            
  EP_composite % (freq)                No data available.                                                            0.0 (  0)      0.0   
                                       No composite endpoints                                                       76.3 (524)            
                                       Composite endpoints                                                          23.7 (163)            
  EP_composite_time (mean (SD))                                                                                    2.477 (1.073)    0.0   
  macmean0 (mean (SD))                                                                                             0.782 (1.299)   27.1   
  smcmean0 (mean (SD))                                                                                             1.814 (1.971)   27.4   
  Macrophages.bin % (freq)             no/minor                                                                     37.0 (254)     20.7   
                                       moderate/heavy                                                               42.4 (291)            
                                       <NA>                                                                         20.7 (142)            
  SMC.bin % (freq)                     no/minor                                                                     26.1 (179)     20.7   
                                       moderate/heavy                                                               53.3 (366)            
                                       <NA>                                                                         20.7 (142)            
  neutrophils (mean (SD))                                                                                        174.356 (263.588) 91.4   
  Mast_cells_plaque (mean (SD))                                                                                  157.617 (143.920) 91.3   
  IPH.bin % (freq)                     no                                                                           30.7 (211)     20.1   
                                       yes                                                                          49.2 (338)            
                                       <NA>                                                                         20.1 (138)            
  vessel_density_averaged (mean (SD))                                                                              7.893 (6.016)   33.8   
  Calc.bin % (freq)                    no/minor                                                                     44.5 (306)     19.9   
                                       moderate/heavy                                                               35.5 (244)            
                                       <NA>                                                                         19.9 (137)            
  Collagen.bin % (freq)                no/minor                                                                     19.8 (136)     20.2   
                                       moderate/heavy                                                               60.0 (412)            
                                       <NA>                                                                         20.2 (139)            
  Fat.bin_10 % (freq)                   <10%                                                                        22.4 (154)     19.9   
                                        >10%                                                                        57.6 (396)            
                                       <NA>                                                                         19.9 (137)            
  Fat.bin_40 % (freq)                  <40%                                                                         58.1 (399)     19.9   
                                       >40%                                                                         22.0 (151)            
                                       <NA>                                                                         19.9 (137)            
  OverallPlaquePhenotype % (freq)      atheromatous                                                                 21.4 (147)     20.1   
                                       fibroatheromatous                                                            29.1 (200)            
                                       fibrous                                                                      29.4 (202)            
                                       <NA>                                                                         20.1 (138)            
  IL6 (mean (SD))                                                                                                 71.003 (104.852) 79.9   
  IL6_pg_ug_2015 (mean (SD))                                                                                       0.125 (0.326)   47.7   
  IL6R_pg_ug_2015 (mean (SD))                                                                                      0.228 (0.249)   47.3   
  MCP1 (mean (SD))                                                                                               142.240 (111.921) 78.7   
  MCP1_pg_ug_2015 (mean (SD))                                                                                      0.657 (0.787)   45.6   
  MCP1_pg_ml_2015 (mean (SD))                                                                                    636.467 (705.888) 45.6   
  MCP1_plasma_olink (mean (SD))                                                                                    3.608 (0.579)    0.0   

CEA patients with plasma and plaque MCP1 levels

Showing the baseline table of the CEA patients in the Athero-Express Biobank with both plasma and plaque MCP1 levels.

Note plasma MCP1 levels were only measured in symptomatic patients

AEDB.CEA.subset.both <- subset(AEDB.CEA, !is.na(MCP1_pg_ug_2015) & !is.na(MCP1_plasma_olink))

AEDB.CEA.subset.both.tableOne = print(CreateTableOne(vars = basetable_vars,
                                         # factorVars = basetable_bin,
                                         # strata = "AsymptSympt2G",
                                         data = AEDB.CEA.subset.both, includeNA = TRUE),
                          nonnormal = c(), missing = TRUE,
                          quote = FALSE, noSpaces = FALSE, showAllLevels = TRUE, explain = TRUE,
                          format = "pf",
                          contDigits = 3)[,1:3]
                                      
                                       level                                                                     Overall           Missing
  n                                                                                                                  374                  
  Hospital % (freq)                    St. Antonius, Nieuwegein                                                     51.9 (194)      0.0   
                                       UMC Utrecht                                                                  48.1 (180)            
  ORyear % (freq)                      No data available/missing                                                     0.0 (  0)      0.0   
                                       2002                                                                          5.1 ( 19)            
                                       2003                                                                         10.4 ( 39)            
                                       2004                                                                          8.8 ( 33)            
                                       2005                                                                         10.2 ( 38)            
                                       2006                                                                          7.0 ( 26)            
                                       2007                                                                         11.5 ( 43)            
                                       2008                                                                          7.8 ( 29)            
                                       2009                                                                         11.2 ( 42)            
                                       2010                                                                          7.5 ( 28)            
                                       2011                                                                         10.4 ( 39)            
                                       2012                                                                          8.6 ( 32)            
                                       2013                                                                          1.6 (  6)            
                                       2014                                                                          0.0 (  0)            
                                       2015                                                                          0.0 (  0)            
                                       2016                                                                          0.0 (  0)            
                                       2017                                                                          0.0 (  0)            
                                       2018                                                                          0.0 (  0)            
                                       2019                                                                          0.0 (  0)            
  Age (mean (SD))                                                                                                 69.762 (9.020)    0.0   
  Gender % (freq)                      female                                                                       31.3 (117)      0.0   
                                       male                                                                         68.7 (257)            
  TC_finalCU (mean (SD))                                                                                         178.919 (45.544)  21.4   
  LDL_finalCU (mean (SD))                                                                                        106.741 (39.368)  22.2   
  HDL_finalCU (mean (SD))                                                                                         44.661 (14.630)  22.2   
  TG_finalCU (mean (SD))                                                                                         137.091 (76.469)  22.2   
  TC_final (mean (SD))                                                                                             4.634 (1.180)   21.4   
  LDL_final (mean (SD))                                                                                            2.765 (1.020)   22.2   
  HDL_final (mean (SD))                                                                                            1.157 (0.379)   22.2   
  TG_final (mean (SD))                                                                                             1.549 (0.864)   22.2   
  hsCRP_plasma (mean (SD))                                                                                        14.658 (88.046)   3.7   
  systolic (mean (SD))                                                                                           154.442 (26.409)  12.8   
  diastoli (mean (SD))                                                                                            81.304 (13.680)  12.8   
  GFR_MDRD (mean (SD))                                                                                            71.730 (19.781)   2.4   
  BMI (mean (SD))                                                                                                 25.986 (3.619)    5.1   
  KDOQI % (freq)                       No data available/missing                                                     0.0 (  0)      2.4   
                                       Normal kidney function                                                       15.8 ( 59)            
                                       CKD 2 (Mild)                                                                 54.8 (205)            
                                       CKD 3 (Moderate)                                                             25.4 ( 95)            
                                       CKD 4 (Severe)                                                                1.3 (  5)            
                                       CKD 5 (Failure)                                                               0.3 (  1)            
                                       <NA>                                                                          2.4 (  9)            
  BMI_WHO % (freq)                     No data available/missing                                                     0.0 (  0)      5.3   
                                       Underweight                                                                   0.8 (  3)            
                                       Normal                                                                       39.6 (148)            
                                       Overweight                                                                   44.7 (167)            
                                       Obese                                                                         9.6 ( 36)            
                                       <NA>                                                                          5.3 ( 20)            
  SmokerStatus % (freq)                Current smoker                                                               37.2 (139)      3.2   
                                       Ex-smoker                                                                    48.9 (183)            
                                       Never smoked                                                                 10.7 ( 40)            
                                       <NA>                                                                          3.2 ( 12)            
  AlcoholUse % (freq)                  No                                                                           32.4 (121)      5.1   
                                       Yes                                                                          62.6 (234)            
                                       <NA>                                                                          5.1 ( 19)            
  DiabetesStatus % (freq)              Control (no Diabetes Dx/Med)                                                 79.4 (297)      0.0   
                                       Diabetes                                                                     20.6 ( 77)            
  Hypertension.selfreport % (freq)     No data available/missing                                                     0.0 (  0)      2.1   
                                       no                                                                           30.2 (113)            
                                       yes                                                                          67.6 (253)            
                                       <NA>                                                                          2.1 (  8)            
  Hypertension.selfreportdrug % (freq) No data available/missing                                                     0.0 (  0)      2.7   
                                       no                                                                           37.2 (139)            
                                       yes                                                                          60.2 (225)            
                                       <NA>                                                                          2.7 ( 10)            
  Hypertension.composite % (freq)      No data available/missing                                                     0.0 (  0)      0.0   
                                       no                                                                           17.6 ( 66)            
                                       yes                                                                          82.4 (308)            
  Hypertension.drugs % (freq)          No data available/missing                                                     0.0 (  0)      0.3   
                                       no                                                                           25.4 ( 95)            
                                       yes                                                                          74.3 (278)            
                                       <NA>                                                                          0.3 (  1)            
  Med.anticoagulants % (freq)          No data available/missing                                                     0.0 (  0)      0.3   
                                       no                                                                           87.2 (326)            
                                       yes                                                                          12.6 ( 47)            
                                       <NA>                                                                          0.3 (  1)            
  Med.all.antiplatelet % (freq)        No data available/missing                                                     0.0 (  0)      0.5   
                                       no                                                                           11.5 ( 43)            
                                       yes                                                                          88.0 (329)            
                                       <NA>                                                                          0.5 (  2)            
  Med.Statin.LLD % (freq)              No data available/missing                                                     0.0 (  0)      0.3   
                                       no                                                                           25.1 ( 94)            
                                       yes                                                                          74.6 (279)            
                                       <NA>                                                                          0.3 (  1)            
  Stroke_Dx % (freq)                   Missing                                                                       0.0 (  0)      3.7   
                                       No stroke diagnosed                                                          76.7 (287)            
                                       Stroke diagnosed                                                             19.5 ( 73)            
                                       <NA>                                                                          3.7 ( 14)            
  sympt % (freq)                       missing                                                                       0.0 (  0)      0.0   
                                       Asymptomatic                                                                  0.0 (  0)            
                                       TIA                                                                          48.9 (183)            
                                       minor stroke                                                                 16.6 ( 62)            
                                       Major stroke                                                                 11.8 ( 44)            
                                       Amaurosis fugax                                                              17.6 ( 66)            
                                       Four vessel disease                                                           0.0 (  0)            
                                       Vertebrobasilary TIA                                                          0.0 (  0)            
                                       Retinal infarction                                                            1.9 (  7)            
                                       Symptomatic, but aspecific symtoms                                            2.9 ( 11)            
                                       Contralateral symptomatic occlusion                                           0.0 (  0)            
                                       retinal infarction                                                            0.3 (  1)            
                                       armclaudication due to occlusion subclavian artery, CEA needed for bypass     0.0 (  0)            
                                       retinal infarction + TIAs                                                     0.0 (  0)            
                                       Ocular ischemic syndrome                                                      0.0 (  0)            
                                       ischemisch glaucoom                                                           0.0 (  0)            
                                       subclavian steal syndrome                                                     0.0 (  0)            
                                       TGA                                                                           0.0 (  0)            
  Symptoms.5G % (freq)                 Asymptomatic                                                                  0.0 (  0)      0.0   
                                       Ocular                                                                       17.6 ( 66)            
                                       Other                                                                         2.9 ( 11)            
                                       Retinal infarction                                                            2.1 (  8)            
                                       Stroke                                                                       28.3 (106)            
                                       TIA                                                                          48.9 (183)            
  AsymptSympt % (freq)                 Asymptomatic                                                                  0.0 (  0)      0.0   
                                       Ocular and others                                                            22.7 ( 85)            
                                       Symptomatic                                                                  77.3 (289)            
  AsymptSympt2G % (freq)               Asymptomatic                                                                  0.0 (  0)      0.0   
                                       Symptomatic                                                                 100.0 (374)            
  restenos % (freq)                    missing                                                                       0.0 (  0)      2.4   
                                       de novo                                                                      93.9 (351)            
                                       restenosis                                                                    3.7 ( 14)            
                                       stenose bij angioseal na PTCA                                                 0.0 (  0)            
                                       <NA>                                                                          2.4 (  9)            
  stenose % (freq)                     missing                                                                       0.0 (  0)      4.0   
                                       0-49%                                                                         0.5 (  2)            
                                       50-70%                                                                        6.4 ( 24)            
                                       70-90%                                                                       44.1 (165)            
                                       90-99%                                                                       42.8 (160)            
                                       100% (Occlusion)                                                              0.5 (  2)            
                                       NA                                                                            0.0 (  0)            
                                       50-99%                                                                        0.5 (  2)            
                                       70-99%                                                                        1.1 (  4)            
                                       99                                                                            0.0 (  0)            
                                       <NA>                                                                          4.0 ( 15)            
  MedHx_CVD % (freq)                   No                                                                           38.8 (145)      0.0   
                                       yes                                                                          61.2 (229)            
  CAD_history % (freq)                 Missing                                                                       0.0 (  0)      0.0   
                                       No history CAD                                                               69.3 (259)            
                                       History CAD                                                                  30.7 (115)            
  PAOD % (freq)                        missing/no data                                                               0.0 (  0)      0.0   
                                       no                                                                           81.8 (306)            
                                       yes                                                                          18.2 ( 68)            
  Peripheral.interv % (freq)           no                                                                           82.4 (308)      0.0   
                                       yes                                                                          17.6 ( 66)            
  EP_composite % (freq)                No data available.                                                            0.0 (  0)      0.0   
                                       No composite endpoints                                                       74.3 (278)            
                                       Composite endpoints                                                          25.7 ( 96)            
  EP_composite_time (mean (SD))                                                                                    2.533 (1.093)    0.0   
  macmean0 (mean (SD))                                                                                             0.813 (1.372)    2.1   
  smcmean0 (mean (SD))                                                                                             1.843 (1.998)    2.7   
  Macrophages.bin % (freq)             no/minor                                                                     48.1 (180)      2.4   
                                       moderate/heavy                                                               49.5 (185)            
                                       <NA>                                                                          2.4 (  9)            
  SMC.bin % (freq)                     no/minor                                                                     30.2 (113)      1.9   
                                       moderate/heavy                                                               67.9 (254)            
                                       <NA>                                                                          1.9 (  7)            
  neutrophils (mean (SD))                                                                                        166.213 (205.019) 87.4   
  Mast_cells_plaque (mean (SD))                                                                                  164.326 (151.274) 87.7   
  IPH.bin % (freq)                     no                                                                           38.8 (145)      1.9   
                                       yes                                                                          59.4 (222)            
                                       <NA>                                                                          1.9 (  7)            
  vessel_density_averaged (mean (SD))                                                                              8.112 (6.097)    9.4   
  Calc.bin % (freq)                    no/minor                                                                     51.9 (194)      1.6   
                                       moderate/heavy                                                               46.5 (174)            
                                       <NA>                                                                          1.6 (  6)            
  Collagen.bin % (freq)                no/minor                                                                     24.6 ( 92)      1.6   
                                       moderate/heavy                                                               73.8 (276)            
                                       <NA>                                                                          1.6 (  6)            
  Fat.bin_10 % (freq)                   <10%                                                                        28.6 (107)      1.6   
                                        >10%                                                                        69.8 (261)            
                                       <NA>                                                                          1.6 (  6)            
  Fat.bin_40 % (freq)                  <40%                                                                         73.0 (273)      1.6   
                                       >40%                                                                         25.4 ( 95)            
                                       <NA>                                                                          1.6 (  6)            
  OverallPlaquePhenotype % (freq)      atheromatous                                                                 25.4 ( 95)      1.6   
                                       fibroatheromatous                                                            35.8 (134)            
                                       fibrous                                                                      37.2 (139)            
                                       <NA>                                                                          1.6 (  6)            
  IL6 (mean (SD))                                                                                                 75.549 (110.399) 67.6   
  IL6_pg_ug_2015 (mean (SD))                                                                                       0.125 (0.326)    4.0   
  IL6R_pg_ug_2015 (mean (SD))                                                                                      0.228 (0.249)    3.2   
  MCP1 (mean (SD))                                                                                               142.029 (110.233) 66.0   
  MCP1_pg_ug_2015 (mean (SD))                                                                                      0.657 (0.787)    0.0   
  MCP1_pg_ml_2015 (mean (SD))                                                                                    636.467 (705.888)  0.0   
  MCP1_plasma_olink (mean (SD))                                                                                    3.602 (0.488)    0.0   

Writing the baseline table to Excel format.

# Write basetable
require(openxlsx)

write.xlsx(file = paste0(BASELINE_loc, "/",Today,".",PROJECTNAME,".AE.BaselineTable.wholeCEA.xlsx"),
           AEDB.CEA.tableOne, 
           row.names = TRUE, 
           col.names = TRUE, 
           sheetName = "wholeAEDB_Baseline")

write.xlsx(file = paste0(BASELINE_loc, "/",Today,".",PROJECTNAME,".AE.BaselineTable.wholeCEA.AsymptSympt.xlsx"),
           AEDB.CEA.subset.AsymptSympt.tableOne, 
           row.names = TRUE, 
           col.names = TRUE, 
           sheetName = "wholeAEDB_Baseline_Sympt")

write.xlsx(file = paste0(BASELINE_loc, "/",Today,".",PROJECTNAME,".AE.BaselineTable.subsetCEA.xlsx"),
           AEDB.CEA.subset.combo.tableOne,
           row.names = TRUE,
           col.names = TRUE,
           sheetName = "subsetAEDB_Baseline")

write.xlsx(file = paste0(BASELINE_loc, "/",Today,".",PROJECTNAME,".AE.BaselineTable.subsetCEAplasma.xlsx"),
           AEDB.CEA.subset.plasma.tableOne,
           row.names = TRUE,
           col.names = TRUE,
           sheetName = "subsetAEDB_Baseline_plasma")

Data exploration

Here we inspect the data and when necessary transform quantitative measures. We will inspect the raw, natural log transformed + the smallest measurement, and inverse-normal transformation.

MCP1 plaque levels: experiment 2

We will explore the plaque levels. As noted above, we will use MCP1_pg_ug_2015, this was experiment 2 in 2015 on the LUMINEX-platform and measurements were corrected for total plaque protein content.


summary(AEDB.CEA$MCP1_pg_ug_2015)
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
 0.0005  0.1374  0.3407  0.6123  0.7235 10.8540    1225 
do.call(rbind , by(AEDB.CEA$MCP1_pg_ug_2015, AEDB.CEA$AsymptSympt2G, summary))
                     Min.    1st Qu.    Median      Mean   3rd Qu.      Max. NA's
Asymptomatic 0.0061401090 0.09779678 0.2148984 0.4950529 0.4982360  5.761795  139
Symptomatic  0.0004584575 0.14499491 0.3510850 0.6266503 0.7427464 10.853968 1086
summary(AEDB.CEA$MCP1_pg_ml_2015)
    Min.  1st Qu.   Median     Mean  3rd Qu.     Max.     NA's 
    0.66   101.34   298.76   600.44   770.98 10181.08     1224 
do.call(rbind , by(AEDB.CEA$MCP1_pg_ml_2015, AEDB.CEA$AsymptSympt2G, summary))
             Min.  1st Qu.  Median     Mean  3rd Qu.     Max. NA's
Asymptomatic 9.36  71.1650 152.220 405.1822 537.9100  2669.59  139
Symptomatic  0.66 114.9425 314.625 624.3948 792.4225 10181.08 1085
library(patchwork)
p1 <- ggpubr::gghistogram(AEDB.CEA, "MCP1_pg_ug_2015", 
                    # y = "..count..", 
                    color = "white",
                    fill = "Gender",
                    palette = c("#1290D9", "#DB003F"), 
                    # add = "mean", 
                    # rug = TRUE,
                    # add.params =  list(color = "black", linetype = 2), 
                    title = "MCP1 plaque levels",
                    xlab = "pg/ug", 
                    ggtheme = theme_minimal())
Using `bins = 30` by default. Pick better value with the argument `bins`.
min_MCP1_pg_ug_2015 <- min(AEDB.CEA$MCP1_pg_ug_2015, na.rm = TRUE)
min_MCP1_pg_ug_2015
[1] 0.0004584575
AEDB.CEA$MCP1_pg_ug_2015_LN <- log(AEDB.CEA$MCP1_pg_ug_2015 + min_MCP1_pg_ug_2015)
p2 <- ggpubr::gghistogram(AEDB.CEA, "MCP1_pg_ug_2015_LN", 
                    # y = "..count..", 
                    color = "white",
                    fill = "Gender",
                    palette = c("#1290D9", "#DB003F"), 
                    # add = "mean", 
                    # rug = TRUE,
                    # add.params =  list(color = "black", linetype = 2), 
                    # title = "MCP1 plaque levels",
                    xlab = "natural log-transformed pg/ug", 
                    ggtheme = theme_minimal())
Using `bins = 30` by default. Pick better value with the argument `bins`.
AEDB.CEA$MCP1_pg_ug_2015_rank <- qnorm((rank(AEDB.CEA$MCP1_pg_ug_2015, na.last = "keep") - 0.5) / sum(!is.na(AEDB.CEA$MCP1_pg_ug_2015)))
p3 <- ggpubr::gghistogram(AEDB.CEA, "MCP1_pg_ug_2015_rank",
                    # y = "..count..",
                    color = "white",
                    fill = "Gender",
                    palette = c("#1290D9", "#DB003F"),
                    add = "mean",
                    # rug = TRUE,
                    # add.params =  list(color = "black", linetype = 2),
                    title = "MCP1 plaque levels",
                    xlab = "inverse-normal transformation pg/ug",
                    ggtheme = theme_minimal())
Using `bins = 30` by default. Pick better value with the argument `bins`.
p1 

p2 

p3

# ggpar(p1, legend = "") / ggpar(p2, legend = "")  | ggpar(p3, legend = "right")

rm(p1, p2, p3)

We will explore the MCP1_pg_ml_2015 levels and compare to the protein content corrected ones.

library(patchwork)
p1 <- ggpubr::gghistogram(AEDB.CEA, "MCP1_pg_ml_2015", 
                    # y = "..count..", 
                    color = "white",
                    fill = "Gender",
                    palette = c("#1290D9", "#DB003F"), 
                    # add = "mean", 
                    # rug = TRUE,
                    # add.params =  list(color = "black", linetype = 2), 
                    title = "MCP1 plaque levels",
                    xlab = "pg/mL", 
                    ggtheme = theme_minimal())
Using `bins = 30` by default. Pick better value with the argument `bins`.
min_MCP1_pg_ml_2015 <- min(AEDB.CEA$MCP1_pg_ml_2015, na.rm = TRUE)
min_MCP1_pg_ml_2015
[1] 0.66
AEDB.CEA$MCP1_pg_ml_2015_LN <- log(AEDB.CEA$MCP1_pg_ml_2015 + min_MCP1_pg_ml_2015)
p2 <- ggpubr::gghistogram(AEDB.CEA, "MCP1_pg_ml_2015_LN", 
                    # y = "..count..", 
                    color = "white",
                    fill = "Gender",
                    palette = c("#1290D9", "#DB003F"), 
                    # add = "mean", 
                    # rug = TRUE,
                    # add.params =  list(color = "black", linetype = 2), 
                    # title = "MCP1 plaque levels",
                    xlab = "natural log-transformed pg/mL", 
                    ggtheme = theme_minimal())
Using `bins = 30` by default. Pick better value with the argument `bins`.
AEDB.CEA$MCP1_pg_ml_2015_rank <- qnorm((rank(AEDB.CEA$MCP1_pg_ml_2015, na.last = "keep") - 0.5) / sum(!is.na(AEDB.CEA$MCP1_pg_ml_2015)))
p3 <- ggpubr::gghistogram(AEDB.CEA, "MCP1_pg_ml_2015_rank",
                    # y = "..count..",
                    color = "white",
                    fill = "Gender",
                    palette = c("#1290D9", "#DB003F"),
                    add = "mean",
                    # rug = TRUE,
                    # add.params =  list(color = "black", linetype = 2),
                    title = "MCP1 plaque levels",
                    xlab = "inverse-normal transformation pg/mL",
                    ggtheme = theme_minimal())
Using `bins = 30` by default. Pick better value with the argument `bins`.
p1 

p2 

p3

# ggpar(p1, legend = "") / ggpar(p2, legend = "")  | ggpar(p3, legend = "right")

rm(p1, p2, p3)

MCP1 plaque levels: experiment 1

We will explore the plaque levels. As noted above, we will use MCP1, this was experiment 1 on the LUMINEX-platform and measurements were corrected for total plaque protein content.


# summary(AEDB.CEA$MCP1)
# 
# do.call(rbind , by(AEDB.CEA$MCP1, AEDB.CEA$AsymptSympt2G, summary))
# 
attach(AEDB.CEA)
AEDB.CEA$MCP1[MCP1 == 0] <- NA
detach(AEDB.CEA)

summary(AEDB.CEA$MCP1)
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
  3.865  58.057 103.811 137.960 180.297 926.273    1867 
do.call(rbind , by(AEDB.CEA$MCP1, AEDB.CEA$AsymptSympt2G, summary))
                  Min.  1st Qu.    Median     Mean  3rd Qu.     Max. NA's
Asymptomatic 15.578813 45.31926  77.84731 119.4878 126.1851 846.5306  184
Symptomatic   3.864774 60.54905 111.87004 141.3406 186.4375 926.2729 1683
p1 <- ggpubr::gghistogram(AEDB.CEA, "MCP1", 
                    # y = "..count..", 
                    color = "white",
                    fill = "Gender",
                    palette = c("#1290D9", "#DB003F"), 
                    # add = "mean", 
                    # rug = TRUE,
                    # add.params =  list(color = "black", linetype = 2), 
                    title = "MCP1 plaque levels",
                    xlab = "pg/mL", 
                    ggtheme = theme_minimal())
Using `bins = 30` by default. Pick better value with the argument `bins`.
min_MCP1 <- min(AEDB.CEA$MCP1, na.rm = TRUE)
min_MCP1
[1] 3.864774
AEDB.CEA$MCP1_LN <- log(AEDB.CEA$MCP1 + min_MCP1)
p2 <- ggpubr::gghistogram(AEDB.CEA, "MCP1_LN", 
                    # y = "..count..", 
                    color = "white",
                    fill = "Gender",
                    palette = c("#1290D9", "#DB003F"), 
                    # add = "mean", 
                    # rug = TRUE,
                    # add.params =  list(color = "black", linetype = 2), 
                    title = "MCP1 plaque levels",
                    xlab = "natural log-transformed pg/ug", 
                    ggtheme = theme_minimal())
Using `bins = 30` by default. Pick better value with the argument `bins`.
AEDB.CEA$MCP1_rank <- qnorm((rank(AEDB.CEA$MCP1, na.last = "keep") - 0.5) / sum(!is.na(AEDB.CEA$MCP1)))
p3 <- ggpubr::gghistogram(AEDB.CEA, "MCP1_rank",
                    # y = "..count..",
                    color = "white",
                    fill = "Gender",
                    palette = c("#1290D9", "#DB003F"),
                    add = "mean",
                    # rug = TRUE,
                    # add.params =  list(color = "black", linetype = 2),
                    title = "MCP1 plaque levels",
                    xlab = "inverse-normal transformation pg/ug",
                    ggtheme = theme_minimal())
Using `bins = 30` by default. Pick better value with the argument `bins`.
p1 

p2 

p3

# ggpar(p1, legend = "") / ggpar(p2, legend = "")  | ggpar(p3, legend = "right")

rm(p1, p2, p3)

Correlations between MCP1 plaque levels and transformations

Here we compare the MCP1 plaque levels from experiment 1 with those experiment 2. The latter we measured in pg/mL and also corrected for the total protein content (pg/ug).

p1 <- ggpubr::ggscatter(AEDB.CEA, 
                        x = "MCP1_rank", 
                        y = "MCP1_pg_ml_2015_rank",
                        color = "#1290D9",
                        # fill = "Gender",
                        # palette = c("#1290D9", "#DB003F"),
                        add = "reg.line",
                        add.params =  list(color = "black", linetype = 2),
                        cor.coef = TRUE, cor.method = "spearman",
                        xlab = "experiment 1",
                        ylab = "experiment 2",
                        title = "MCP1 plaque levels, INT, [pg/mL]",
                        ggtheme = theme_minimal())

p1 


p2 <- ggpubr::ggscatter(AEDB.CEA, 
                        x = "MCP1_rank", 
                        y = "MCP1_pg_ug_2015_rank",
                        color = "#1290D9",
                        # fill = "Gender",
                        # palette = c("#1290D9", "#DB003F"),
                        add = "reg.line",
                        add.params =  list(color = "black", linetype = 2),
                        cor.coef = TRUE, cor.method = "spearman",
                        xlab = "experiment 1",
                        ylab = "experiment 2",
                        title = "MCP1 plaque levels, INT, [pg/mL]/[pg/ug]",
                        ggtheme = theme_minimal())

p2 


p3 <- ggpubr::ggscatter(AEDB.CEA, 
                        x = "MCP1_pg_ml_2015_rank", 
                        y = "MCP1_pg_ug_2015_rank",
                        color = "#1290D9",
                        # fill = "Gender",
                        # palette = c("#1290D9", "#DB003F"),
                        add = "reg.line",
                        add.params =  list(color = "black", linetype = 2),
                        cor.coef = TRUE, cor.method = "spearman",
                        xlab = "experiment 2, [pg/mL]",
                        ylab = "experiment 2, [pg/ug]",
                        title = "MCP1 plaque levels, INT",
                        ggtheme = theme_minimal())

p3

MCP1 plasma levels

Note plasma MCP1 levels were only measured in symptomatic patients.

We will explore the plasma levels. As noted above, we will use MCP1, this was measured in plasma on the OLINK-platform and measurements are given in arbitrary units.


# summary(AEDB.CEA$MCP1)
# 
# do.call(rbind , by(AEDB.CEA$MCP1, AEDB.CEA$AsymptSympt2G, summary))
# 
# attach(AEDB.CEA)
# AEDB.CEA$MCP1[MCP1 == 0] <- NA
# detach(AEDB.CEA)

summary(AEDB.CEA$MCP1_plasma_olink)
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
 0.6649  3.3219  3.5617  3.6081  3.8117 12.2641    1736 
do.call(rbind , by(AEDB.CEA$MCP1_plasma_olink, AEDB.CEA$AsymptSympt2G, summary))
                Min.  1st Qu.  Median     Mean 3rd Qu.     Max. NA's
Asymptomatic      NA       NA      NA      NaN      NA       NA  270
Symptomatic  0.66491 3.321885 3.56166 3.608137 3.81167 12.26413 1466
p1 <- ggpubr::gghistogram(AEDB.CEA, "MCP1_plasma_olink", 
                    # y = "..count..", 
                    color = "white",
                    fill = "Gender",
                    palette = c("#1290D9", "#DB003F"), 
                    # add = "mean", 
                    # rug = TRUE,
                    # add.params =  list(color = "black", linetype = 2), 
                    title = "MCP1 plasma levels",
                    xlab = "AU", 
                    ggtheme = theme_minimal())
Using `bins = 30` by default. Pick better value with the argument `bins`.
min_MCP1_plasma_olink <- min(AEDB.CEA$MCP1_plasma_olink, na.rm = TRUE)
min_MCP1_plasma_olink
[1] 0.66491
AEDB.CEA$MCP1_plasma_olink_LN <- log(AEDB.CEA$MCP1_plasma_olink + min_MCP1_plasma_olink)
p2 <- ggpubr::gghistogram(AEDB.CEA, "MCP1_plasma_olink_LN", 
                    # y = "..count..", 
                    color = "white",
                    fill = "Gender",
                    palette = c("#1290D9", "#DB003F"), 
                    # add = "mean", 
                    # rug = TRUE,
                    # add.params =  list(color = "black", linetype = 2), 
                    title = "MCP1 plasma levels",
                    xlab = "natural log-transformed AU", 
                    ggtheme = theme_minimal())
Using `bins = 30` by default. Pick better value with the argument `bins`.
AEDB.CEA$MCP1_plasma_olink_rank <- qnorm((rank(AEDB.CEA$MCP1_plasma_olink, na.last = "keep") - 0.5) / sum(!is.na(AEDB.CEA$MCP1_plasma_olink)))
p3 <- ggpubr::gghistogram(AEDB.CEA, "MCP1_plasma_olink_rank",
                    # y = "..count..",
                    color = "white",
                    fill = "Gender",
                    palette = c("#1290D9", "#DB003F"),
                    add = "mean",
                    # rug = TRUE,
                    # add.params =  list(color = "black", linetype = 2),
                    title = "MCP1 plasma levels",
                    xlab = "inverse-normal transformation AU",
                    ggtheme = theme_minimal())
Using `bins = 30` by default. Pick better value with the argument `bins`.
p1 

p2 

p3

# ggpar(p1, legend = "") / ggpar(p2, legend = "")  | ggpar(p3, legend = "right")

rm(p1, p2, p3)

Based on the inverse-rank normal transformation we conclude there are no outliers and the data approximates a normal distribution. #### Correlations between MCP1 plaque and plasma levels

Here we compare the MCP1 plaque levels from experiment 1 and 2 (plaque) with plasma levels measured on the OLINK-platform. Given the arbitrary units used in the OLINK-method, we compare only inverse-normal transformed data.

p1 <- ggpubr::ggscatter(AEDB.CEA, 
                        x = "MCP1_rank", 
                        y = "MCP1_pg_ml_2015_rank",
                        color = "#1290D9",
                        # fill = "Gender",
                        # palette = c("#1290D9", "#DB003F"),
                        add = "reg.line",
                        add.params =  list(color = "black", linetype = 2),
                        cor.coef = TRUE, cor.method = "spearman",
                        xlab = "plaque (experiment 1)",
                        ylab = "plaque (experiment 2)",
                        title = "MCP1 plaque levels, INT, [pg/mL]",
                        ggtheme = theme_minimal())

p1 


p2 <- ggpubr::ggscatter(AEDB.CEA, 
                        x = "MCP1_rank", 
                        y = "MCP1_plasma_olink_rank",
                        color = "#1290D9",
                        # fill = "Gender",
                        # palette = c("#1290D9", "#DB003F"),
                        add = "reg.line",
                        add.params =  list(color = "black", linetype = 2),
                        cor.coef = TRUE, cor.method = "spearman",
                        xlab = "plaque (experiment 1)",
                        ylab = "plasma (OLINK)",
                        title = "MCP1 levels, INT, [pg/mL]/[AU]",
                        ggtheme = theme_minimal())

p2 


p3 <- ggpubr::ggscatter(AEDB.CEA, 
                        x = "MCP1_pg_ml_2015_rank", 
                        y = "MCP1_plasma_olink_rank",
                        color = "#1290D9",
                        # fill = "Gender",
                        # palette = c("#1290D9", "#DB003F"),
                        add = "reg.line",
                        add.params =  list(color = "black", linetype = 2),
                        cor.coef = TRUE, cor.method = "spearman",
                        xlab = "plaque (experiment 2)",
                        ylab = "plasma (OLINK)",
                        title = "MCP1 levels, INT, [pg/mL]/[AU]",
                        ggtheme = theme_minimal())

p3

Preliminary conclusion data exploration

In line with the previous work by Marios Georgakis we will apply natural log transformation on all proteins and focus the analysis on MCP1 in plasma and plaque.

Analyses

The analyses are focused on three elements:

  1. plaque vulnerability phenotypes
  2. clinical status at inclusion (symptoms)
  3. secondary clinical outcome during three (3) years of follow-up

Covariates & other variables

  1. Age (continuous in 1-year increment). [Age]
  2. Sex (male vs. female). [Gender]
  3. Presence of hypertension at baseline (defined either as history of hypertension, SBP ≥140 mm Hg, DBP ≥90 mm Hg, or prescription of antihypertensive medications). [Hypertension.composite]
  4. Presence of diabetes mellitus at baseline (defined either as a history of diabetes and/or administration of glucose lowering medication). [DiabetesStatus]
  5. Smoking (current, ex-, never). [SmokerStatus]
  6. LDL-C levels (continuous). [LDL_final]
  7. Use of lipid-lowering drugs. [Med.Statin.LLD]
  8. Use of antiplatelet drugs. [Med.all.antiplatelet]
  9. eGFR (continuous). [GFR_MDRD]
  10. BMI (continuous). [BMI]
  11. History of cardiovascular disease (stroke, coronary artery disease, peripheral artery disease). [MedHx_CVD] combination of [CAD_history, Stroke_history, Peripheral.interv]
  12. Level of stenosis (50-70% vs. 70-99%). [stenose]
  13. Year of surgery [ORdate_year] as we discovered in Van Lammeren et al. the composition of the plaque and therefore the Athero-Express Biobank Study has changed over the years. Likely through changes in lifestyle and primary prevention regimes.

Models

We will analyze the data through four different models

  • Model 1: adjusted for age, sex, and year of surgery
  • Model 2: adjusted for age, sex, year of surgery, and additionally adjusted for history hypertension (defined from medical history and/or use of antihypertensive medications), diabetes (defined as history of a diagnosis and/or use of glucose-lowering medications), current smoking, LDL-C levels at time of operation, use of statins, use of antiplatelet agents, eGFR, BMI, history of cardiovascular disease (coronary artery disease, stroke, peripheral artery disease), and level of stenosis (50-70%, 70-90%, 90-99%)

A. Cross-sectional analysis plaque phenotypes

In the cross-sectional analysis of plaque and plasma MCP1, IL6, and IL6R levels we will focus on the following plaque vulnerability phenotypes:

  • Percentage of macrophages (continuous trait)
  • Percentage of SMCs (continuous trait)
  • Number of intraplaque microvessels per 3-4 hotspots (continuous trait)
  • Presence of moderate/heavy calcifications (binary trait)
  • Presence of moderate/heavy collagen content (binary trait)
  • Presence of lipid core no/<10% vs. >10% (binary trait)
  • Presence of intraplaque hemorrhage (binary trait)

Continous traits


# macrophages
cat("Summary of data.\n")
Summary of data.
summary(AEDB.CEA$macmean0)
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
 0.0000  0.0733  0.3133  0.7671  0.9967 15.1000     720 
min_macmean <- min(AEDB.CEA$macmean0, na.rm = TRUE)
cat(paste0("\nMinimum value % macrophages: ",min_macmean,".\n"))

Minimum value % macrophages: 0.
AEDB.CEA$Macrophages_LN <- log(AEDB.CEA$macmean0 + min_macmean)

ggpubr::gghistogram(AEDB.CEA, "Macrophages_LN", 
                    # y = "..count..", 
                    color = "white",
                    fill = "Gender",
                    palette = c("#1290D9", "#DB003F"), 
                    add = "median", 
                    #add_density = TRUE,
                    rug = TRUE,
                    #add.params =  list(color = "black", linetype = 2), 
                    title = "% macrophages",
                    xlab = "natural log-transformed %", 
                    ggtheme = theme_minimal())
Using `bins = 30` by default. Pick better value with the argument `bins`.

AEDB.CEA$Macrophages_rank <- qnorm((rank(AEDB.CEA$macmean0, na.last = "keep") - 0.5) / sum(!is.na(AEDB.CEA$macmean0)))
ggpubr::gghistogram(AEDB.CEA, "Macrophages_rank", 
                    # y = "..count..", 
                    color = "white",
                    fill = "Gender",
                    palette = c("#1290D9", "#DB003F"), 
                    add = "median", 
                    #add_density = TRUE,
                    rug = TRUE,
                    #add.params =  list(color = "black", linetype = 2), 
                    title = "% macrophages",
                    xlab = "inverse-rank normalized %", 
                    ggtheme = theme_minimal())
Using `bins = 30` by default. Pick better value with the argument `bins`.

# smooth muscle cells
cat("Summary of data.\n")
Summary of data.
summary(AEDB.CEA$macmean0)
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
 0.0000  0.0733  0.3133  0.7671  0.9967 15.1000     720 
min_smcmean <- min(AEDB.CEA$smcmean0, na.rm = TRUE)
cat(paste0("\nMinimum value % smooth muscle cells: ",min_smcmean,".\n"))

Minimum value % smooth muscle cells: 0.
AEDB.CEA$SMC_LN <- log(AEDB.CEA$smcmean0 + min_smcmean)

ggpubr::gghistogram(AEDB.CEA, "SMC_LN", 
                    # y = "..count..", 
                    color = "white",
                    fill = "Gender",
                    palette = c("#1290D9", "#DB003F"), 
                    add = "median", 
                    #add_density = TRUE,
                    rug = TRUE,
                    #add.params =  list(color = "black", linetype = 2), 
                    title = "% smooth muscle cells",
                    xlab = "natural log-transformed %", 
                    ggtheme = theme_minimal())
Using `bins = 30` by default. Pick better value with the argument `bins`.

AEDB.CEA$SMC_rank <- qnorm((rank(AEDB.CEA$smcmean0, na.last = "keep") - 0.5) / sum(!is.na(AEDB.CEA$smcmean0)))
ggpubr::gghistogram(AEDB.CEA, "SMC_rank", 
                    # y = "..count..", 
                    color = "white",
                    fill = "Gender",
                    palette = c("#1290D9", "#DB003F"), 
                    add = "median", 
                    #add_density = TRUE,
                    rug = TRUE,
                    #add.params =  list(color = "black", linetype = 2), 
                    title = "% smooth muscle cells",
                    xlab = "inverse-rank normalized %", 
                    ggtheme = theme_minimal())
Using `bins = 30` by default. Pick better value with the argument `bins`.

# vessel density
cat("Summary of data.\n")
Summary of data.
summary(AEDB.CEA$vessel_density_averaged)
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
  0.000   4.000   7.000   8.318  11.300  48.000     850 
min_vesseldensity <- min(AEDB.CEA$vessel_density_averaged, na.rm = TRUE)
min_vesseldensity
[1] 0
cat(paste0("\nMinimum value number of intraplaque neovessels per 3-4 hotspots: ",min_vesseldensity,".\n"))

Minimum value number of intraplaque neovessels per 3-4 hotspots: 0.
AEDB.CEA$VesselDensity_LN <- log(AEDB.CEA$vessel_density_averaged + min_vesseldensity)

ggpubr::gghistogram(AEDB.CEA, "VesselDensity_LN", 
                    # y = "..count..", 
                    color = "white",
                    fill = "Gender",
                    palette = c("#1290D9", "#DB003F"), 
                    add = "median", 
                    #add_density = TRUE,
                    rug = TRUE,
                    #add.params =  list(color = "black", linetype = 2), 
                    title = "number of intraplaque neovessels per 3-4 hotspots",
                    xlab = "natural log-transformed number", 
                    ggtheme = theme_minimal())
Using `bins = 30` by default. Pick better value with the argument `bins`.

AEDB.CEA$VesselDensity_rank <- qnorm((rank(AEDB.CEA$vessel_density_averaged, na.last = "keep") - 0.5) / sum(!is.na(AEDB.CEA$vessel_density_averaged)))
ggpubr::gghistogram(AEDB.CEA, "VesselDensity_rank", 
                    # y = "..count..", 
                    color = "white",
                    fill = "Gender",
                    palette = c("#1290D9", "#DB003F"), 
                    add = "median", 
                    #add_density = TRUE,
                    rug = TRUE,
                    #add.params =  list(color = "black", linetype = 2), 
                    title = "number of intraplaque neovessels per 3-4 hotspots",
                   xlab = "inverse-rank normalized number", 
                    ggtheme = theme_minimal())
Using `bins = 30` by default. Pick better value with the argument `bins`.

Binary traits


# calcification
cat("Summary of data.\n")
Summary of data.
summary(AEDB.CEA$Calc.bin)
      no/minor moderate/heavy           NA's 
          1007            850            566 
contrasts(AEDB.CEA$Calc.bin)
               moderate/heavy
no/minor                    0
moderate/heavy              1
AEDB.CEA$CalcificationPlaque <- as.factor(AEDB.CEA$Calc.bin)

df <- AEDB.CEA %>%
  filter(!is.na(CalcificationPlaque)) %>%
  group_by(Gender, CalcificationPlaque) %>%
summarise(counts = n()) 

ggpubr::ggbarplot(df, x = "CalcificationPlaque", y = "counts",
                    # y = "..count..",
                    color = "white",
                    fill = "Gender",
                    palette = c("#DB003F", "#1290D9"),
                    label = TRUE, lab.vjust = 2, lab.col = "#FFFFFF",
                    title = "Calcification",
                    xlab = "calcification", 
                    ggtheme = theme_minimal())

rm(df)

# collagen
cat("Summary of data.\n")
Summary of data.
summary(AEDB.CEA$Collagen.bin)
      no/minor moderate/heavy           NA's 
           382           1469            572 
contrasts(AEDB.CEA$Collagen.bin)
               moderate/heavy
no/minor                    0
moderate/heavy              1
AEDB.CEA$CollagenPlaque <- as.factor(AEDB.CEA$Collagen.bin)

df <- AEDB.CEA %>%
  filter(!is.na(CollagenPlaque)) %>%
  group_by(Gender, CollagenPlaque) %>%
summarise(counts = n()) 

ggpubr::ggbarplot(df, x = "CollagenPlaque", y = "counts",
                    # y = "..count..",
                    color = "white",
                    fill = "Gender",
                    palette = c("#DB003F", "#1290D9"),
                    label = TRUE, lab.vjust = 2, lab.col = "#FFFFFF",
                    title = "Collagen",
                    xlab = "collagen", 
                    ggtheme = theme_minimal())

rm(df)

# fat 10%
cat("Summary of data.\n")
Summary of data.
summary(AEDB.CEA$Fat.bin_10)
 <10%  >10%  NA's 
  542  1316   565 
contrasts(AEDB.CEA$Fat.bin_10)
       >10%
 <10%     0
 >10%     1
AEDB.CEA$Fat10Perc <- as.factor(AEDB.CEA$Fat.bin_10)

df <- AEDB.CEA %>%
  filter(!is.na(Fat10Perc)) %>%
  group_by(Gender, Fat10Perc) %>%
summarise(counts = n()) 

ggpubr::ggbarplot(df, x = "Fat10Perc", y = "counts",
                    # y = "..count..",
                    color = "white",
                    fill = "Gender",
                    palette = c("#DB003F", "#1290D9"),
                    label = TRUE, lab.vjust = 2, lab.col = "#FFFFFF",
                    title = "Intraplaque fat",
                    xlab = "intraplaque fat", 
                    ggtheme = theme_minimal())

rm(df)

# macrophages binned
cat("Summary of data.\n")
Summary of data.
summary(AEDB.CEA$Macrophages.bin)
      no/minor moderate/heavy           NA's 
           847            992            584 
contrasts(AEDB.CEA$Macrophages.bin)
               moderate/heavy
no/minor                    0
moderate/heavy              1
AEDB.CEA$MAC_binned <- as.factor(AEDB.CEA$Macrophages.bin)

df <- AEDB.CEA %>%
  filter(!is.na(MAC_binned)) %>%
  group_by(Gender, MAC_binned) %>%
summarise(counts = n()) 

ggpubr::ggbarplot(df, x = "MAC_binned", y = "counts",
                    # y = "..count..",
                    color = "white",
                    fill = "Gender",
                    palette = c("#DB003F", "#1290D9"),
                    label = TRUE, lab.vjust = 2, lab.col = "#FFFFFF",
                    title = "Macrophages (binned)",
                    xlab = "Macrophages", 
                    ggtheme = theme_minimal())

rm(df)

# macrophages grouped
cat("Summary of data.\n")
Summary of data.
AEDB.CEA$macrophages <- as.factor(AEDB.CEA$macrophages)
summary(AEDB.CEA$macrophages)
-888    0    1    2    3 NA's 
   6  173  674  786  206  578 
contrasts(AEDB.CEA$macrophages)
     0 1 2 3
-888 0 0 0 0
0    1 0 0 0
1    0 1 0 0
2    0 0 1 0
3    0 0 0 1
AEDB.CEA$MAC_grouped <- as.factor(AEDB.CEA$macrophages)

df <- AEDB.CEA %>%
  filter(!is.na(MAC_grouped)) %>%
  group_by(Gender, MAC_grouped) %>%
summarise(counts = n()) 

ggpubr::ggbarplot(df, x = "MAC_grouped", y = "counts",
                    # y = "..count..",
                    color = "white",
                    fill = "Gender",
                    palette = c("#DB003F", "#1290D9"),
                    label = TRUE, lab.vjust = 2, lab.col = "#FFFFFF",
                    title = "Macrophages (grouped)",
                    xlab = "Macrophages", 
                    ggtheme = theme_minimal())

rm(df)

# SMC binned
cat("Summary of data.\n")
Summary of data.
summary(AEDB.CEA$SMC.bin)
      no/minor moderate/heavy           NA's 
           602           1244            577 
contrasts(AEDB.CEA$SMC.bin)
               moderate/heavy
no/minor                    0
moderate/heavy              1
AEDB.CEA$SMC_binned <- as.factor(AEDB.CEA$SMC.bin)

df <- AEDB.CEA %>%
  filter(!is.na(SMC_binned)) %>%
  group_by(Gender, SMC_binned) %>%
summarise(counts = n()) 

ggpubr::ggbarplot(df, x = "SMC_binned", y = "counts",
                    # y = "..count..",
                    color = "white",
                    fill = "Gender",
                    palette = c("#DB003F", "#1290D9"),
                    label = TRUE, lab.vjust = 2, lab.col = "#FFFFFF",
                    title = "SMC (binned)",
                    xlab = "SMC", 
                    ggtheme = theme_minimal())

rm(df)

# SMC grouped
cat("Summary of data.\n")
Summary of data.
AEDB.CEA$smc <- as.factor(AEDB.CEA$smc)
summary(AEDB.CEA$smc)
-888    0    1    2    3 NA's 
   4   44  558  908  336  573 
contrasts(AEDB.CEA$smc)
     0 1 2 3
-888 0 0 0 0
0    1 0 0 0
1    0 1 0 0
2    0 0 1 0
3    0 0 0 1
AEDB.CEA$SMC_grouped <- as.factor(AEDB.CEA$smc)

df <- AEDB.CEA %>%
  filter(!is.na(SMC_grouped)) %>%
  group_by(Gender, SMC_grouped) %>%
summarise(counts = n()) 

ggpubr::ggbarplot(df, x = "SMC_grouped", y = "counts",
                    # y = "..count..",
                    color = "white",
                    fill = "Gender",
                    palette = c("#DB003F", "#1290D9"),
                    label = TRUE, lab.vjust = 2, lab.col = "#FFFFFF",
                    title = "SMC (grouped)",
                    xlab = "SMC", 
                    ggtheme = theme_minimal())

rm(df)


# IPH
cat("Summary of data.\n")
Summary of data.
summary(AEDB.CEA$IPH.bin)
  no  yes NA's 
 746 1108  569 
contrasts(AEDB.CEA$IPH.bin)
    yes
no    0
yes   1
AEDB.CEA$IPH <- as.factor(AEDB.CEA$IPH.bin)

df <- AEDB.CEA %>%
  filter(!is.na(IPH)) %>%
  group_by(Gender, IPH) %>%
summarise(counts = n()) 

ggpubr::ggbarplot(df, x = "IPH", y = "counts",
                    # y = "..count..",
                    color = "white",
                    fill = "Gender",
                    palette = c("#DB003F", "#1290D9"),
                    label = TRUE, lab.vjust = 2, lab.col = "#FFFFFF",
                    title = "Intraplaque hemorrhage",
                    xlab = "intraplaque hemorrhage", 
                    ggtheme = theme_minimal())

rm(df)

# Symptoms
cat("Summary of data.\n")
Summary of data.
summary(AEDB.CEA$AsymptSympt)
     Asymptomatic Ocular and others       Symptomatic 
              270               541              1612 
contrasts(AEDB.CEA$AsymptSympt)
                  Ocular and others Symptomatic
Asymptomatic                      0           0
Ocular and others                 1           0
Symptomatic                       0           1
AEDB.CEA$AsymptSympt <- as.factor(AEDB.CEA$AsymptSympt)

df <- AEDB.CEA %>%
  filter(!is.na(AsymptSympt)) %>%
  group_by(Gender, AsymptSympt) %>%
summarise(counts = n()) 

ggpubr::ggbarplot(df, x = "AsymptSympt", y = "counts",
                    # y = "..count..",
                    color = "white",
                    fill = "Gender",
                    palette = c("#DB003F", "#1290D9"),
                    label = TRUE, lab.vjust = 2, lab.col = "#FFFFFF",
                    title = "Symptoms",
                    xlab = "symptoms", 
                    ggtheme = theme_minimal())

rm(df)

Correlations between MCP1 plaque levels and surgery year

Here we compare the MCP1 plaque levels from experiment 1 with those experiment 2. The latter we measured in pg/mL and also corrected for the total protein content (pg/ug).

p1 <- ggpubr::ggscatter(AEDB.CEA, 
                        x = "ORyear", 
                        y = "MCP1_rank",
                        color = "#1290D9",
                        # fill = "Gender",
                        # palette = c("#1290D9", "#DB003F"),
                        add = "reg.line",
                        add.params =  list(color = "black", linetype = 2),
                        cor.coef = TRUE, cor.method = "spearman",
                        xlab = "year of surgery",
                        ylab = "experiment 1",
                        title = "MCP1 plaque levels, INT, [pg/mL]",
                        ggtheme = theme_minimal())

p1 


p2 <- ggpubr::ggscatter(AEDB.CEA, 
                        x = "ORyear", 
                        y = "MCP1_pg_ml_2015_rank",
                        color = "#1290D9",
                        # fill = "Gender",
                        # palette = c("#1290D9", "#DB003F"),
                        add = "reg.line",
                        add.params =  list(color = "black", linetype = 2),
                        cor.coef = TRUE, cor.method = "spearman",
                        xlab = "year of surgery",
                        ylab = "experiment 2, [pg/mL]",
                        title = "MCP1 plaque levels, INT, [pg/mL]/[pg/ug]",
                        ggtheme = theme_minimal())

p2 


p3 <- ggpubr::ggscatter(AEDB.CEA, 
                        x = "ORyear", 
                        y = "MCP1_pg_ug_2015_rank",
                        color = "#1290D9",
                        # fill = "Gender",
                        # palette = c("#1290D9", "#DB003F"),
                        add = "reg.line",
                        add.params =  list(color = "black", linetype = 2),
                        cor.coef = TRUE, cor.method = "spearman",
                        xlab = "year of surgery",
                        ylab = "experiment 2, [pg/ug]",
                        title = "MCP1 plaque levels, INT",
                        ggtheme = theme_minimal())

p3

Correlations between MCP1 plasma levels and surgery year

Here we compare the MCP1 plaque levels from experiment 1 with those experiment 2. The latter we measured in pg/mL and also corrected for the total protein content (pg/ug).

library(patchwork)
p1 <- ggpubr::ggscatter(AEDB.CEA, 
                        x = "ORyear", 
                        y = "MCP1_plasma_olink",
                        color = "#1290D9",
                        # fill = "Gender",
                        # palette = c("#1290D9", "#DB003F"),
                        add = "reg.line",
                        add.params =  list(color = "black", linetype = 2),
                        cor.coef = TRUE, cor.method = "spearman",
                        xlab = "year of surgery",
                        ylab = "MCP1 plasma - OLINK",
                        title = "MCP1 plasma, [AU]",
                        ggtheme = theme_minimal())

p2 <- ggpubr::ggscatter(AEDB.CEA, 
                        x = "ORyear", 
                        y = "MCP1_plasma_olink_rank",
                        color = "#1290D9",
                        # fill = "Gender",
                        # palette = c("#1290D9", "#DB003F"),
                        add = "reg.line",
                        add.params =  list(color = "black", linetype = 2),
                        cor.coef = TRUE, cor.method = "spearman",
                        xlab = "year of surgery",
                        ylab = "MCP1 plasma - OLINK",
                        title = "MCP1 plasma, INT, [AU]",
                        ggtheme = theme_minimal())

p1 / p2

rm(p1, p2)

In this section we make some variables to assist with analysis.

AEDB.CEA.samplesize = nrow(AEDB.CEA)
# TRAITS.PROTEIN = c("IL6_LN", "MCP1_LN", "IL6_pg_ug_2015_LN", "IL6R_pg_ug_2015_LN", "MCP1_pg_ug_2015_LN")
# TRAITS.PROTEIN.RANK = c("IL6_rank", "MCP1_rank", "IL6_pg_ug_2015_rank", "IL6R_pg_ug_2015_rank", "MCP1_pg_ug_2015_rank")
# TRAITS.PROTEIN.RANK = c("MCP1_pg_ug_2015_rank", "MCP1_rank")
TRAITS.PROTEIN.RANK = c("MCP1_pg_ug_2015_rank", "MCP1_pg_ml_2015_rank", "MCP1_rank", "MCP1_plasma_olink_rank")

# TRAITS.CON = c("Macrophages_LN", "SMC_LN", "VesselDensity_LN")
# TRAITS.CON.RANK = c("Macrophages_rank")
TRAITS.CON.RANK = c("Macrophages_rank", "SMC_rank", "VesselDensity_rank")

# TRAITS.BIN = c("MAC_binned")
TRAITS.BIN = c("CalcificationPlaque", "CollagenPlaque", "Fat10Perc", "IPH",
               "MAC_binned", "SMC_binned")


# "Hospital", 
# "Age", "Gender", 
# "TC_final", "LDL_final", "HDL_final", "TG_final", 
# "systolic", "diastoli", "GFR_MDRD", "BMI", 
# "KDOQI", "BMI_WHO",
# "SmokerCurrent", "eCigarettes", "ePackYearsSmoking",
# "DiabetesStatus", "Hypertension.composite", 
# "Hypertension.drugs", "Med.anticoagulants", "Med.all.antiplatelet", "Med.Statin.LLD", 
# "Stroke_Dx", "sympt", "Symptoms.5G", "restenos",
# "EP_composite", "EP_composite_time",
# "macmean0", "smcmean0", "Macrophages.bin", "SMC.bin",
# "neutrophils", "Mast_cells_plaque",
# "IPH.bin", "vessel_density_averaged",
# "Calc.bin", "Collagen.bin", 
# "Fat.bin_10", "Fat.bin_40", "OverallPlaquePhenotype",
# "IL6_pg_ug_2015", "MCP1_pg_ug_2015", 
# "QC2018_FILTER", "CHIP", "SAMPLE_TYPE",
# "CAD_history", "Stroke_history", "Peripheral.interv",
# "stenose"

# 1.  Age (continuous in 1-year increment). [Age]
# 2.  Sex (male vs. female). [Gender]
# 3.  Presence of hypertension at baseline (defined either as history of hypertension, SBP ≥140 mm Hg, DBP ≥90 mm Hg, or prescription of antihypertensive medications). [Hypertension.composite]
# 4.  Presence of diabetes mellitus at baseline (defined either as a history of diabetes, administration of glucose lowering medication, HbA1c ≥6.5%, fasting glucose ≥126 mg/dl, .or random glucose levels ≥200 mg/dl). [DiabetesStatus]
# 5.  Smoking (current, ex-, never). [SmokerCurrent]
# 6.  LDL-C levels (continuous). [LDL_final]
# 7.  Use of lipid-lowering drugs. [Med.Statin.LLD]
# 8.  Use of antiplatelet drugs. [Med.all.antiplatelet]
# 9.  eGFR (continuous). [GFR_MDRD]
# 10.   BMI (continuous). [BMI]
# 11.   History of cardiovascular disease (stroke, coronary artery disease, peripheral artery disease). [MedHx_CVD] combinatino of: [CAD_history, Stroke_history, Peripheral.interv]
# 12.   Level of stenosis (50-70% vs. 70-99%). [stenose]

# Models 
# Model 1: adjusted for age and sex
# Model 2: adjusted for age, sex, hypertension, diabetes, smoking, LDL-C levels, lipid-lowering drugs, antiplatelet drugs, eGFR, BMI, history of CVD, level of stenosis,

AEDB.CEA$ORdate_epoch <- as.numeric(AEDB.CEA$dateok)
AEDB.CEA$ORdate_year <- as.numeric(year(AEDB.CEA$dateok))

cat("Summary of 'year of surgery' in 'epoch' (); coded as `numeric()`\n")
Summary of 'year of surgery' in 'epoch' (); coded as `numeric()`
summary(AEDB.CEA$ORdate_epoch)
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
  11770   13132   14518   14567   15860   18250 
cat("\nSummary of 'year of surgery' in 'years' (); coded as `factor()`\n")

Summary of 'year of surgery' in 'years' (); coded as `factor()`
table(AEDB.CEA$ORdate_year)

2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 
  81  157  190  185  183  152  138  182  159  164  176  149  163   76   85   65   66   52 
COVARIATES_M1 = c("Age", "Gender", "ORdate_year")
# COVARIATES_M1 = c("Age", "Gender", "ORdate_epoch")

COVARIATES_M2 = c(COVARIATES_M1,  
               "Hypertension.composite", "DiabetesStatus", 
               "SmokerStatus", 
               # "SmokerCurrent",
               "Med.Statin.LLD", "Med.all.antiplatelet", 
               "GFR_MDRD", "BMI", 
               # "CAD_history", "Stroke_history", "Peripheral.interv", 
               "MedHx_CVD",
               "stenose")

# COVARIATES_M3 = c(COVARIATES_M2, "LDL_final")

# COVARIATES_M4 = c(COVARIATES_M2, "hsCRP_plasma")

# COVARIATES_M5 = c(COVARIATES_M2, "IL6_pg_ug_2015_LN")
# COVARIATES_M5rank = c(COVARIATES_M2, "IL6_pg_ug_2015_rank")

Model 1

In this model we correct for Age, Gender, and year of surgery.

Here we use the inverse-rank normalized data - visually this is more normally distributed.

Quantitative plaque traits

Analysis of continuous/quantitative plaque traits as a function of plasma/plaque MCP1 levels.


GLM.results <- data.frame(matrix(NA, ncol = 15, nrow = 0))
cat("Running linear regression...\n")
Running linear regression...
for (protein in 1:length(TRAITS.PROTEIN.RANK)) {
  PROTEIN = TRAITS.PROTEIN.RANK[protein]
  cat(paste0("\nAnalysis of ",PROTEIN,".\n"))
  for (trait in 1:length(TRAITS.CON.RANK)) {
    TRAIT = TRAITS.CON.RANK[trait]
    cat(paste0("\n- processing ",TRAIT,"\n\n"))
    currentDF <- as.data.frame(AEDB.CEA %>%
      dplyr::select(., PROTEIN, TRAIT, COVARIATES_M1) %>%
      filter(complete.cases(.))) %>%
      filter_if(~is.numeric(.), all_vars(!is.infinite(.)))
    # for debug
    # print(DT::datatable(currentDF))
    # print(nrow(currentDF))
    # print(str(currentDF))
    ### univariate
    fit <- lm(currentDF[,PROTEIN] ~ currentDF[,TRAIT] + Age + Gender + ORdate_year, data = currentDF)
    model_step <- stepAIC(fit, direction = "both", trace = FALSE)
    print(model_step)
    print(summary(fit))

    GLM.results.TEMP <- data.frame(matrix(NA, ncol = 15, nrow = 0))
    GLM.results.TEMP[1,] = GLM.CON(fit, "AEDB.CEA", PROTEIN, TRAIT, verbose = TRUE)
    GLM.results = rbind(GLM.results, GLM.results.TEMP)
  }
}

Analysis of MCP1_pg_ug_2015_rank.

- processing Macrophages_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ ORdate_year, data = currentDF)

Coefficients:
(Intercept)  ORdate_year  
 -171.29948      0.08535  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.1754 -0.6183  0.0000  0.5768  3.4333 

Coefficients:
                     Estimate Std. Error t value Pr(>|t|)    
(Intercept)        -1.766e+02  1.967e+01  -8.977   <2e-16 ***
currentDF[, TRAIT]  2.156e-02  2.939e-02   0.734    0.463    
Age                -3.224e-03  3.106e-03  -1.038    0.299    
Gendermale          8.302e-02  6.147e-02   1.350    0.177    
ORdate_year         8.806e-02  9.811e-03   8.976   <2e-16 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.967 on 1165 degrees of freedom
Multiple R-squared:  0.06843,   Adjusted R-squared:  0.06523 
F-statistic: 21.39 on 4 and 1165 DF,  p-value: < 2.2e-16

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' Macrophages_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank 
Trait/outcome.............: Macrophages_rank 
Effect size...............: 0.021564 
Standard error............: 0.029392 
Odds ratio (effect size)..: 1.022 
Lower 95% CI..............: 0.965 
Upper 95% CI..............: 1.082 
T-value...................: 0.733661 
P-value...................: 0.463303 
R^2.......................: 0.068426 
Adjusted r^2..............: 0.065227 
Sample size of AE DB......: 2423 
Sample size of model......: 1170 
Missing data %............: 51.71275 

- processing SMC_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    ORdate_year, data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]                 Age         ORdate_year  
        -167.30363            -0.05958            -0.00447             0.08351  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.1539 -0.6160 -0.0022  0.5685  3.4649 

Coefficients:
                     Estimate Std. Error t value Pr(>|t|)    
(Intercept)        -1.675e+02  1.954e+01  -8.575   <2e-16 ***
currentDF[, TRAIT] -5.520e-02  3.045e-02  -1.813   0.0701 .  
Age                -4.433e-03  3.145e-03  -1.410   0.1589    
Gendermale          6.493e-02  6.191e-02   1.049   0.2945    
ORdate_year         8.359e-02  9.741e-03   8.581   <2e-16 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9656 on 1161 degrees of freedom
Multiple R-squared:  0.07183,   Adjusted R-squared:  0.06864 
F-statistic: 22.46 on 4 and 1161 DF,  p-value: < 2.2e-16

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' SMC_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank 
Trait/outcome.............: SMC_rank 
Effect size...............: -0.055203 
Standard error............: 0.030454 
Odds ratio (effect size)..: 0.946 
Lower 95% CI..............: 0.891 
Upper 95% CI..............: 1.004 
T-value...................: -1.812656 
P-value...................: 0.07014308 
R^2.......................: 0.071833 
Adjusted r^2..............: 0.068636 
Sample size of AE DB......: 2423 
Sample size of model......: 1166 
Missing data %............: 51.87784 

- processing VesselDensity_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year, data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]          Gendermale         ORdate_year  
        -153.89746            -0.08229             0.10388             0.07664  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.0878 -0.6348  0.0019  0.5515  3.4172 

Coefficients:
                     Estimate Std. Error t value Pr(>|t|)    
(Intercept)        -1.555e+02  2.037e+01  -7.637 4.86e-14 ***
currentDF[, TRAIT] -8.194e-02  3.038e-02  -2.697   0.0071 ** 
Age                -2.515e-03  3.247e-03  -0.774   0.4388    
Gendermale          1.042e-01  6.409e-02   1.626   0.1043    
ORdate_year         7.754e-02  1.016e-02   7.631 5.08e-14 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9768 on 1089 degrees of freedom
Multiple R-squared:  0.06876,   Adjusted R-squared:  0.06534 
F-statistic:  20.1 on 4 and 1089 DF,  p-value: 5.483e-16

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' VesselDensity_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank 
Trait/outcome.............: VesselDensity_rank 
Effect size...............: -0.081944 
Standard error............: 0.030383 
Odds ratio (effect size)..: 0.921 
Lower 95% CI..............: 0.868 
Upper 95% CI..............: 0.978 
T-value...................: -2.697016 
P-value...................: 0.007104392 
R^2.......................: 0.068759 
Adjusted r^2..............: 0.065339 
Sample size of AE DB......: 2423 
Sample size of model......: 1094 
Missing data %............: 54.84936 

Analysis of MCP1_pg_ml_2015_rank.

- processing Macrophages_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year, data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]          Gendermale         ORdate_year  
        -254.43741             0.06422             0.32420             0.12666  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-2.98066 -0.58281 -0.01477  0.58485  3.01698 

Coefficients:
                     Estimate Std. Error t value Pr(>|t|)    
(Intercept)        -2.535e+02  1.846e+01 -13.732  < 2e-16 ***
currentDF[, TRAIT]  6.552e-02  2.761e-02   2.373   0.0178 *  
Age                 1.944e-03  2.918e-03   0.666   0.5055    
Gendermale          3.236e-01  5.775e-02   5.603 2.63e-08 ***
ORdate_year         1.261e-01  9.207e-03  13.698  < 2e-16 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9087 on 1166 degrees of freedom
Multiple R-squared:  0.1648,    Adjusted R-squared:  0.162 
F-statistic: 57.54 on 4 and 1166 DF,  p-value: < 2.2e-16

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ml_2015_rank ' with ' Macrophages_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ml_2015_rank 
Trait/outcome.............: Macrophages_rank 
Effect size...............: 0.065515 
Standard error............: 0.027613 
Odds ratio (effect size)..: 1.068 
Lower 95% CI..............: 1.011 
Upper 95% CI..............: 1.127 
T-value...................: 2.372657 
P-value...................: 0.01782216 
R^2.......................: 0.164841 
Adjusted r^2..............: 0.161976 
Sample size of AE DB......: 2423 
Sample size of model......: 1171 
Missing data %............: 51.67148 

- processing SMC_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year, data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]          Gendermale         ORdate_year  
         -232.0776             -0.0943              0.3013              0.1155  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-3.15076 -0.58587 -0.02393  0.55488  3.09880 

Coefficients:
                     Estimate Std. Error t value Pr(>|t|)    
(Intercept)        -2.322e+02  1.827e+01 -12.713  < 2e-16 ***
currentDF[, TRAIT] -9.502e-02  2.851e-02  -3.333 0.000887 ***
Age                -4.616e-04  2.944e-03  -0.157 0.875435    
Gendermale          3.012e-01  5.795e-02   5.198 2.38e-07 ***
ORdate_year         1.156e-01  9.109e-03  12.694  < 2e-16 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.904 on 1162 degrees of freedom
Multiple R-squared:  0.1708,    Adjusted R-squared:  0.168 
F-statistic: 59.84 on 4 and 1162 DF,  p-value: < 2.2e-16

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ml_2015_rank ' with ' SMC_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ml_2015_rank 
Trait/outcome.............: SMC_rank 
Effect size...............: -0.095019 
Standard error............: 0.02851 
Odds ratio (effect size)..: 0.909 
Lower 95% CI..............: 0.86 
Upper 95% CI..............: 0.962 
T-value...................: -3.332864 
P-value...................: 0.0008866462 
R^2.......................: 0.170817 
Adjusted r^2..............: 0.167963 
Sample size of AE DB......: 2423 
Sample size of model......: 1167 
Missing data %............: 51.83657 

- processing VesselDensity_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year, data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]          Gendermale         ORdate_year  
        -228.08372            -0.06221             0.33587             0.11352  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-3.04767 -0.60662  0.00131  0.57990  3.05690 

Coefficients:
                     Estimate Std. Error t value Pr(>|t|)    
(Intercept)        -2.268e+02  1.916e+01 -11.838  < 2e-16 ***
currentDF[, TRAIT] -6.247e-02  2.862e-02  -2.183   0.0293 *  
Age                 1.921e-03  3.059e-03   0.628   0.5302    
Gendermale          3.356e-01  6.036e-02   5.561 3.38e-08 ***
ORdate_year         1.128e-01  9.561e-03  11.801  < 2e-16 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9201 on 1090 degrees of freedom
Multiple R-squared:  0.1558,    Adjusted R-squared:  0.1527 
F-statistic: 50.28 on 4 and 1090 DF,  p-value: < 2.2e-16

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ml_2015_rank ' with ' VesselDensity_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ml_2015_rank 
Trait/outcome.............: VesselDensity_rank 
Effect size...............: -0.062472 
Standard error............: 0.02862 
Odds ratio (effect size)..: 0.939 
Lower 95% CI..............: 0.888 
Upper 95% CI..............: 0.994 
T-value...................: -2.182858 
P-value...................: 0.02925907 
R^2.......................: 0.155768 
Adjusted r^2..............: 0.15267 
Sample size of AE DB......: 2423 
Sample size of model......: 1095 
Missing data %............: 54.80809 

Analysis of MCP1_rank.

- processing Macrophages_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year, data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]          Gendermale         ORdate_year  
          422.8331              0.1222              0.2600             -0.2111  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.4317 -0.6291 -0.0261  0.6543  2.8355 

Coefficients:
                     Estimate Std. Error t value Pr(>|t|)    
(Intercept)        414.987584  75.061156   5.529 4.99e-08 ***
currentDF[, TRAIT]   0.121339   0.038035   3.190   0.0015 ** 
Age                 -0.006268   0.004724  -1.327   0.1851    
Gendermale           0.263235   0.090556   2.907   0.0038 ** 
ORdate_year         -0.206979   0.037471  -5.524 5.13e-08 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9598 on 550 degrees of freedom
Multiple R-squared:  0.0847,    Adjusted R-squared:  0.07804 
F-statistic: 12.72 on 4 and 550 DF,  p-value: 6.54e-10

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' Macrophages_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_rank 
Trait/outcome.............: Macrophages_rank 
Effect size...............: 0.121339 
Standard error............: 0.038035 
Odds ratio (effect size)..: 1.129 
Lower 95% CI..............: 1.048 
Upper 95% CI..............: 1.216 
T-value...................: 3.19016 
P-value...................: 0.001502979 
R^2.......................: 0.084699 
Adjusted r^2..............: 0.078042 
Sample size of AE DB......: 2423 
Sample size of model......: 555 
Missing data %............: 77.09451 

- processing SMC_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]                 Age          Gendermale         ORdate_year  
         485.13156            -0.22645            -0.01251             0.22171            -0.24174  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.2040 -0.6017 -0.0439  0.6538  2.7241 

Coefficients:
                     Estimate Std. Error t value Pr(>|t|)    
(Intercept)        485.131555  74.828140   6.483 2.01e-10 ***
currentDF[, TRAIT]  -0.226449   0.039572  -5.722 1.73e-08 ***
Age                 -0.012514   0.004716  -2.654   0.0082 ** 
Gendermale           0.221712   0.089045   2.490   0.0131 *  
ORdate_year         -0.241741   0.037348  -6.473 2.14e-10 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9371 on 547 degrees of freedom
Multiple R-squared:  0.1219,    Adjusted R-squared:  0.1155 
F-statistic: 18.98 on 4 and 547 DF,  p-value: 1.253e-14

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' SMC_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_rank 
Trait/outcome.............: SMC_rank 
Effect size...............: -0.226449 
Standard error............: 0.039572 
Odds ratio (effect size)..: 0.797 
Lower 95% CI..............: 0.738 
Upper 95% CI..............: 0.862 
T-value...................: -5.722399 
P-value...................: 1.731767e-08 
R^2.......................: 0.121879 
Adjusted r^2..............: 0.115458 
Sample size of AE DB......: 2423 
Sample size of model......: 552 
Missing data %............: 77.21832 

- processing VesselDensity_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ Gender + ORdate_year, data = currentDF)

Coefficients:
(Intercept)   Gendermale  ORdate_year  
   427.9795       0.2941      -0.2137  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.4045 -0.5978 -0.0351  0.6466  2.6590 

Coefficients:
                     Estimate Std. Error t value Pr(>|t|)    
(Intercept)        407.491047  77.437980   5.262 2.06e-07 ***
currentDF[, TRAIT]  -0.055611   0.050753  -1.096  0.27369    
Age                 -0.006762   0.004796  -1.410  0.15917    
Gendermale           0.296448   0.092030   3.221  0.00135 ** 
ORdate_year         -0.203215   0.038660  -5.257 2.12e-07 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9662 on 539 degrees of freedom
Multiple R-squared:  0.07477,   Adjusted R-squared:  0.0679 
F-statistic: 10.89 on 4 and 539 DF,  p-value: 1.697e-08

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' VesselDensity_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_rank 
Trait/outcome.............: VesselDensity_rank 
Effect size...............: -0.055611 
Standard error............: 0.050753 
Odds ratio (effect size)..: 0.946 
Lower 95% CI..............: 0.856 
Upper 95% CI..............: 1.045 
T-value...................: -1.09571 
P-value...................: 0.2736949 
R^2.......................: 0.07477 
Adjusted r^2..............: 0.067904 
Sample size of AE DB......: 2423 
Sample size of model......: 544 
Missing data %............: 77.54849 

Analysis of MCP1_plasma_olink_rank.

- processing Macrophages_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ Age + ORdate_year, data = currentDF)

Coefficients:
(Intercept)          Age  ORdate_year  
   67.69277      0.02550     -0.03461  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-2.8535 -0.6687  0.0154  0.6567  3.4821 

Coefficients:
                    Estimate Std. Error t value Pr(>|t|)    
(Intercept)        68.500883  31.153667   2.199   0.0284 *  
currentDF[, TRAIT] -0.012239   0.044726  -0.274   0.7845    
Age                 0.025022   0.004874   5.134 4.09e-07 ***
Gendermale          0.095085   0.094628   1.005   0.3155    
ORdate_year        -0.035029   0.015539  -2.254   0.0246 *  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9912 on 496 degrees of freedom
Multiple R-squared:  0.05955,   Adjusted R-squared:  0.05197 
F-statistic: 7.852 on 4 and 496 DF,  p-value: 3.846e-06

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_plasma_olink_rank ' with ' Macrophages_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_plasma_olink_rank 
Trait/outcome.............: Macrophages_rank 
Effect size...............: -0.012239 
Standard error............: 0.044726 
Odds ratio (effect size)..: 0.988 
Lower 95% CI..............: 0.905 
Upper 95% CI..............: 1.078 
T-value...................: -0.273634 
P-value...................: 0.7844798 
R^2.......................: 0.05955 
Adjusted r^2..............: 0.051966 
Sample size of AE DB......: 2423 
Sample size of model......: 501 
Missing data %............: 79.32315 

- processing SMC_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ Age + ORdate_year, data = currentDF)

Coefficients:
(Intercept)          Age  ORdate_year  
   70.70209      0.02554     -0.03611  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-2.8529 -0.6753  0.0129  0.6472  3.4913 

Coefficients:
                     Estimate Std. Error t value Pr(>|t|)    
(Intercept)        68.9786513 31.2518311   2.207   0.0278 *  
currentDF[, TRAIT]  0.0006227  0.0505420   0.012   0.9902    
Age                 0.0250800  0.0048962   5.122 4.33e-07 ***
Gendermale          0.0978698  0.0951165   1.029   0.3040    
ORdate_year        -0.0352682  0.0155823  -2.263   0.0240 *  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9909 on 494 degrees of freedom
Multiple R-squared:  0.0605,    Adjusted R-squared:  0.05289 
F-statistic: 7.953 on 4 and 494 DF,  p-value: 3.22e-06

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_plasma_olink_rank ' with ' SMC_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_plasma_olink_rank 
Trait/outcome.............: SMC_rank 
Effect size...............: 0.000623 
Standard error............: 0.050542 
Odds ratio (effect size)..: 1.001 
Lower 95% CI..............: 0.906 
Upper 95% CI..............: 1.105 
T-value...................: 0.01232 
P-value...................: 0.9901749 
R^2.......................: 0.060502 
Adjusted r^2..............: 0.052895 
Sample size of AE DB......: 2423 
Sample size of model......: 499 
Missing data %............: 79.40569 

- processing VesselDensity_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ Age + ORdate_year, data = currentDF)

Coefficients:
(Intercept)          Age  ORdate_year  
   67.32987      0.02446     -0.03439  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-2.8120 -0.6681  0.0078  0.6115  3.4898 

Coefficients:
                    Estimate Std. Error t value Pr(>|t|)    
(Intercept)        61.510311  32.117556   1.915   0.0561 .  
currentDF[, TRAIT]  0.028090   0.048865   0.575   0.5657    
Age                 0.023845   0.005171   4.611 5.23e-06 ***
Gendermale          0.113115   0.100258   1.128   0.2598    
ORdate_year        -0.031510   0.016026  -1.966   0.0499 *  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9953 on 450 degrees of freedom
Multiple R-squared:  0.05571,   Adjusted R-squared:  0.04732 
F-statistic: 6.637 on 4 and 450 DF,  p-value: 3.388e-05

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_plasma_olink_rank ' with ' VesselDensity_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_plasma_olink_rank 
Trait/outcome.............: VesselDensity_rank 
Effect size...............: 0.02809 
Standard error............: 0.048865 
Odds ratio (effect size)..: 1.028 
Lower 95% CI..............: 0.935 
Upper 95% CI..............: 1.132 
T-value...................: 0.574848 
P-value...................: 0.5656816 
R^2.......................: 0.055712 
Adjusted r^2..............: 0.047319 
Sample size of AE DB......: 2423 
Sample size of model......: 455 
Missing data %............: 81.22163 
cat("Edit the column names...\n")
Edit the column names...
colnames(GLM.results) = c("Dataset", "Predictor", "Trait",
                          "Beta", "s.e.m.",
                          "OR", "low95CI", "up95CI",
                          "T-value", "P-value", "r^2", "r^2_adj", "AE_N", "Model_N", "Perc_Miss")

cat("Correct the variable types...\n")
Correct the variable types...
GLM.results$Beta <- as.numeric(GLM.results$Beta)
GLM.results$s.e.m. <- as.numeric(GLM.results$s.e.m.)
GLM.results$OR <- as.numeric(GLM.results$OR)
GLM.results$low95CI <- as.numeric(GLM.results$low95CI)
GLM.results$up95CI <- as.numeric(GLM.results$up95CI)
GLM.results$`T-value` <- as.numeric(GLM.results$`T-value`)
GLM.results$`P-value` <- as.numeric(GLM.results$`P-value`)
GLM.results$`r^2` <- as.numeric(GLM.results$`r^2`)
GLM.results$`r^2_adj` <- as.numeric(GLM.results$`r^2_adj`)
GLM.results$`AE_N` <- as.numeric(GLM.results$`AE_N`)
GLM.results$`Model_N` <- as.numeric(GLM.results$`Model_N`)
GLM.results$`Perc_Miss` <- as.numeric(GLM.results$`Perc_Miss`)

# Save the data
cat("Writing results to Excel-file...\n")
Writing results to Excel-file...
### Univariate
library(openxlsx)
write.xlsx(GLM.results,
           file = paste0(OUT_loc, "/",Today,".AEDB.CEA.Con.Uni.Protein.PlaquePhenotypes.RANK.MODEL1.xlsx"),
           row.names = FALSE, col.names = TRUE, sheetName = "Con.Uni.PlaquePheno")
# Removing intermediates
cat("Removing intermediate files...\n")
Removing intermediate files...
rm(TRAIT, trait, currentDF, GLM.results, GLM.results.TEMP, fit, model_step)

Binary plaque traits

Analysis of binary plaque traits as a function of plasma/plaque MCP1 levels.


GLM.results <- data.frame(matrix(NA, ncol = 16, nrow = 0))
for (protein in 1:length(TRAITS.PROTEIN.RANK)) {
  PROTEIN = TRAITS.PROTEIN.RANK[protein]
  cat(paste0("\nAnalysis of ",PROTEIN,".\n"))
  for (trait in 1:length(TRAITS.BIN)) {
    TRAIT = TRAITS.BIN[trait]
    cat(paste0("\n- processing ",TRAIT,"\n\n"))
    currentDF <- as.data.frame(AEDB.CEA %>%
      dplyr::select(., PROTEIN, TRAIT, COVARIATES_M1) %>%
      filter(complete.cases(.))) %>%
      filter_if(~is.numeric(.), all_vars(!is.infinite(.)))
    # for debug
    # print(DT::datatable(currentDF))
    # print(nrow(currentDF))
    # print(str(currentDF))
    # print(class(currentDF[,TRAIT]))
    ### univariate
    fit <- glm(as.factor(currentDF[,TRAIT]) ~ currentDF[,PROTEIN] + Age + Gender + ORdate_year,
              data  =  currentDF, family = binomial(link = "logit"))
    model_step <- stepAIC(fit, direction = "both", trace = FALSE)
    print(model_step)
    print(summary(fit))
    
    GLM.results.TEMP <- data.frame(matrix(NA, ncol = 16, nrow = 0))
    GLM.results.TEMP[1,] = GLM.BIN(fit, "AEDB.CEA", PROTEIN, TRAIT, verbose = TRUE)
    GLM.results = rbind(GLM.results, GLM.results.TEMP)
  }
}

Analysis of MCP1_pg_ug_2015_rank.

- processing CalcificationPlaque


Call:  glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    Age + Gender + ORdate_year, family = binomial(link = "logit"), 
    data = currentDF)

Coefficients:
         (Intercept)  currentDF[, PROTEIN]                   Age            Gendermale           ORdate_year  
           335.24007              -0.33036               0.02155              -0.19206              -0.16774  

Degrees of Freedom: 1179 Total (i.e. Null);  1175 Residual
Null Deviance:      1635 
Residual Deviance: 1509     AIC: 1519

Call:
glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    Age + Gender + ORdate_year, family = binomial(link = "logit"), 
    data = currentDF)

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-1.8849  -1.0513  -0.6462   1.0731   1.9198  

Coefficients:
                       Estimate Std. Error z value Pr(>|z|)    
(Intercept)          335.240072  43.279314   7.746 9.49e-15 ***
currentDF[, PROTEIN]  -0.330357   0.064530  -5.119 3.07e-07 ***
Age                    0.021553   0.006796   3.171  0.00152 ** 
Gendermale            -0.192060   0.133536  -1.438  0.15036    
ORdate_year           -0.167737   0.021599  -7.766 8.11e-15 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 1635.3  on 1179  degrees of freedom
Residual deviance: 1509.4  on 1175  degrees of freedom
AIC: 1519.4

Number of Fisher Scoring iterations: 4

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' CalcificationPlaque ' ...
Collecting data...
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank 
Trait/outcome.............: CalcificationPlaque 
Effect size...............: -0.330357 
Standard error............: 0.06453 
Odds ratio (effect size)..: 0.719 
Lower 95% CI..............: 0.633 
Upper 95% CI..............: 0.816 
Z-value...................: -5.1194 
P-value...................: 3.065085e-07 
Hosmer and Lemeshow r^2...: 0.07695 
Cox and Snell r^2.........: 0.101149 
Nagelkerke's pseudo r^2...: 0.134888 
Sample size of AE DB......: 2423 
Sample size of model......: 1180 
Missing data %............: 51.30004 

- processing CollagenPlaque


Call:  glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN], 
    family = binomial(link = "logit"), data = currentDF)

Coefficients:
         (Intercept)  currentDF[, PROTEIN]  
              1.3330               -0.2309  

Degrees of Freedom: 1180 Total (i.e. Null);  1179 Residual
Null Deviance:      1217 
Residual Deviance: 1206     AIC: 1210

Call:
glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    Age + Gender + ORdate_year, family = binomial(link = "logit"), 
    data = currentDF)

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-2.1021   0.5727   0.6548   0.7158   0.9485  

Coefficients:
                      Estimate Std. Error z value Pr(>|z|)   
(Intercept)          17.784713  48.613369   0.366  0.71448   
currentDF[, PROTEIN] -0.224125   0.074534  -3.007  0.00264 **
Age                   0.003150   0.007836   0.402  0.68767   
Gendermale           -0.018114   0.156133  -0.116  0.90764   
ORdate_year          -0.008298   0.024251  -0.342  0.73221   
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 1216.6  on 1180  degrees of freedom
Residual deviance: 1206.0  on 1176  degrees of freedom
AIC: 1216

Number of Fisher Scoring iterations: 4

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' CollagenPlaque ' ...
Collecting data...
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank 
Trait/outcome.............: CollagenPlaque 
Effect size...............: -0.224125 
Standard error............: 0.074534 
Odds ratio (effect size)..: 0.799 
Lower 95% CI..............: 0.691 
Upper 95% CI..............: 0.925 
Z-value...................: -3.007008 
P-value...................: 0.00263833 
Hosmer and Lemeshow r^2...: 0.00871 
Cox and Snell r^2.........: 0.008933 
Nagelkerke's pseudo r^2...: 0.013891 
Sample size of AE DB......: 2423 
Sample size of model......: 1181 
Missing data %............: 51.25877 

- processing Fat10Perc


Call:  glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    Age + Gender + ORdate_year, family = binomial(link = "logit"), 
    data = currentDF)

Coefficients:
         (Intercept)  currentDF[, PROTEIN]                   Age            Gendermale           ORdate_year  
           427.40162               0.37536               0.01846               0.92910              -0.21336  

Degrees of Freedom: 1180 Total (i.e. Null);  1176 Residual
Null Deviance:      1388 
Residual Deviance: 1265     AIC: 1275

Call:
glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    Age + Gender + ORdate_year, family = binomial(link = "logit"), 
    data = currentDF)

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-2.5628  -1.0106   0.6082   0.8037   1.5384  

Coefficients:
                       Estimate Std. Error z value Pr(>|z|)    
(Intercept)          427.401616  51.642839   8.276  < 2e-16 ***
currentDF[, PROTEIN]   0.375361   0.076943   4.878 1.07e-06 ***
Age                    0.018459   0.007414   2.490   0.0128 *  
Gendermale             0.929096   0.142899   6.502 7.94e-11 ***
ORdate_year           -0.213360   0.025759  -8.283  < 2e-16 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 1387.7  on 1180  degrees of freedom
Residual deviance: 1264.5  on 1176  degrees of freedom
AIC: 1274.5

Number of Fisher Scoring iterations: 4

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' Fat10Perc ' ...
Collecting data...
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank 
Trait/outcome.............: Fat10Perc 
Effect size...............: 0.375361 
Standard error............: 0.076943 
Odds ratio (effect size)..: 1.456 
Lower 95% CI..............: 1.252 
Upper 95% CI..............: 1.692 
Z-value...................: 4.878458 
P-value...................: 1.069185e-06 
Hosmer and Lemeshow r^2...: 0.088803 
Cox and Snell r^2.........: 0.099089 
Nagelkerke's pseudo r^2...: 0.143359 
Sample size of AE DB......: 2423 
Sample size of model......: 1181 
Missing data %............: 51.25877 

- processing IPH


Call:  glm(formula = as.factor(currentDF[, TRAIT]) ~ Gender + ORdate_year, 
    family = binomial(link = "logit"), data = currentDF)

Coefficients:
(Intercept)   Gendermale  ORdate_year  
   330.7442       0.6639      -0.1648  

Degrees of Freedom: 1177 Total (i.e. Null);  1175 Residual
Null Deviance:      1576 
Residual Deviance: 1489     AIC: 1495

Call:
glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    Age + Gender + ORdate_year, family = binomial(link = "logit"), 
    data = currentDF)

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-1.8927  -1.1983   0.7379   0.9697   1.6410  

Coefficients:
                       Estimate Std. Error z value Pr(>|z|)    
(Intercept)          337.995453  44.297057   7.630 2.34e-14 ***
currentDF[, PROTEIN]   0.005900   0.065633   0.090    0.928    
Age                    0.009237   0.006770   1.364    0.172    
Gendermale             0.662529   0.132839   4.987 6.12e-07 ***
ORdate_year           -0.168718   0.022101  -7.634 2.28e-14 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 1576.1  on 1177  degrees of freedom
Residual deviance: 1487.0  on 1173  degrees of freedom
AIC: 1497

Number of Fisher Scoring iterations: 4

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' IPH ' ...
Collecting data...
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank 
Trait/outcome.............: IPH 
Effect size...............: 0.0059 
Standard error............: 0.065633 
Odds ratio (effect size)..: 1.006 
Lower 95% CI..............: 0.884 
Upper 95% CI..............: 1.144 
Z-value...................: 0.089897 
P-value...................: 0.9283688 
Hosmer and Lemeshow r^2...: 0.056517 
Cox and Snell r^2.........: 0.072828 
Nagelkerke's pseudo r^2...: 0.098734 
Sample size of AE DB......: 2423 
Sample size of model......: 1178 
Missing data %............: 51.38258 

- processing MAC_binned


Call:  glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    Gender + ORdate_year, family = binomial(link = "logit"), 
    data = currentDF)

Coefficients:
         (Intercept)  currentDF[, PROTEIN]            Gendermale           ORdate_year  
            225.4931                0.1181                0.5871               -0.1125  

Degrees of Freedom: 1174 Total (i.e. Null);  1171 Residual
Null Deviance:      1628 
Residual Deviance: 1578     AIC: 1586

Call:
glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    Age + Gender + ORdate_year, family = binomial(link = "logit"), 
    data = currentDF)

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-1.6791  -1.1487   0.8701   1.1063   1.5988  

Coefficients:
                       Estimate Std. Error z value Pr(>|z|)    
(Intercept)          221.509598  42.104122   5.261 1.43e-07 ***
currentDF[, PROTEIN]   0.116279   0.062576   1.858   0.0631 .  
Age                   -0.006165   0.006543  -0.942   0.3461    
Gendermale             0.589375   0.129823   4.540 5.63e-06 ***
ORdate_year           -0.110332   0.021003  -5.253 1.50e-07 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 1627.9  on 1174  degrees of freedom
Residual deviance: 1576.7  on 1170  degrees of freedom
AIC: 1586.7

Number of Fisher Scoring iterations: 4

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' MAC_binned ' ...
Collecting data...
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank 
Trait/outcome.............: MAC_binned 
Effect size...............: 0.116279 
Standard error............: 0.062576 
Odds ratio (effect size)..: 1.123 
Lower 95% CI..............: 0.994 
Upper 95% CI..............: 1.27 
Z-value...................: 1.85822 
P-value...................: 0.06313782 
Hosmer and Lemeshow r^2...: 0.0314 
Cox and Snell r^2.........: 0.042569 
Nagelkerke's pseudo r^2...: 0.056776 
Sample size of AE DB......: 2423 
Sample size of model......: 1175 
Missing data %............: 51.5064 

- processing SMC_binned


Call:  glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    Age + Gender + ORdate_year, family = binomial(link = "logit"), 
    data = currentDF)

Coefficients:
         (Intercept)  currentDF[, PROTEIN]                   Age            Gendermale           ORdate_year  
            65.61548              -0.17421              -0.02705              -0.37884              -0.03124  

Degrees of Freedom: 1175 Total (i.e. Null);  1171 Residual
Null Deviance:      1469 
Residual Deviance: 1434     AIC: 1444

Call:
glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    Age + Gender + ORdate_year, family = binomial(link = "logit"), 
    data = currentDF)

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-1.9218  -1.3467   0.7606   0.8945   1.3086  

Coefficients:
                      Estimate Std. Error z value Pr(>|z|)    
(Intercept)          65.615476  43.794115   1.498 0.134063    
currentDF[, PROTEIN] -0.174212   0.066806  -2.608 0.009115 ** 
Age                  -0.027051   0.007164  -3.776 0.000159 ***
Gendermale           -0.378837   0.142483  -2.659 0.007842 ** 
ORdate_year          -0.031244   0.021846  -1.430 0.152656    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 1469.3  on 1175  degrees of freedom
Residual deviance: 1433.5  on 1171  degrees of freedom
AIC: 1443.5

Number of Fisher Scoring iterations: 4

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' SMC_binned ' ...
Collecting data...
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank 
Trait/outcome.............: SMC_binned 
Effect size...............: -0.174212 
Standard error............: 0.066806 
Odds ratio (effect size)..: 0.84 
Lower 95% CI..............: 0.737 
Upper 95% CI..............: 0.958 
Z-value...................: -2.607727 
P-value...................: 0.009114572 
Hosmer and Lemeshow r^2...: 0.024381 
Cox and Snell r^2.........: 0.030004 
Nagelkerke's pseudo r^2...: 0.042061 
Sample size of AE DB......: 2423 
Sample size of model......: 1176 
Missing data %............: 51.46513 

Analysis of MCP1_pg_ml_2015_rank.

- processing CalcificationPlaque


Call:  glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    Age + ORdate_year, family = binomial(link = "logit"), data = currentDF)

Coefficients:
         (Intercept)  currentDF[, PROTEIN]                   Age           ORdate_year  
           310.77553              -0.34903               0.02309              -0.15567  

Degrees of Freedom: 1180 Total (i.e. Null);  1177 Residual
Null Deviance:      1637 
Residual Deviance: 1513     AIC: 1521

Call:
glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    Age + Gender + ORdate_year, family = binomial(link = "logit"), 
    data = currentDF)

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-1.8216  -1.0490  -0.6315   1.0837   2.0978  

Coefficients:
                       Estimate Std. Error z value Pr(>|z|)    
(Intercept)          312.506897  44.478670   7.026 2.13e-12 ***
currentDF[, PROTEIN]  -0.340451   0.068997  -4.934 8.04e-07 ***
Age                    0.023128   0.006798   3.402 0.000669 ***
Gendermale            -0.109930   0.134724  -0.816 0.414521    
ORdate_year           -0.156493   0.022190  -7.052 1.76e-12 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 1636.6  on 1180  degrees of freedom
Residual deviance: 1512.0  on 1176  degrees of freedom
AIC: 1522

Number of Fisher Scoring iterations: 4

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ml_2015_rank ' with ' CalcificationPlaque ' ...
Collecting data...
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ml_2015_rank 
Trait/outcome.............: CalcificationPlaque 
Effect size...............: -0.340451 
Standard error............: 0.068997 
Odds ratio (effect size)..: 0.711 
Lower 95% CI..............: 0.621 
Upper 95% CI..............: 0.814 
Z-value...................: -4.934311 
P-value...................: 8.04341e-07 
Hosmer and Lemeshow r^2...: 0.07616 
Cox and Snell r^2.........: 0.100162 
Nagelkerke's pseudo r^2...: 0.133573 
Sample size of AE DB......: 2423 
Sample size of model......: 1181 
Missing data %............: 51.25877 

- processing CollagenPlaque


Call:  glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN], 
    family = binomial(link = "logit"), data = currentDF)

Coefficients:
         (Intercept)  currentDF[, PROTEIN]  
              1.3403               -0.2873  

Degrees of Freedom: 1181 Total (i.e. Null);  1180 Residual
Null Deviance:      1217 
Residual Deviance: 1202     AIC: 1206

Call:
glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    Age + Gender + ORdate_year, family = binomial(link = "logit"), 
    data = currentDF)

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-2.2054   0.5389   0.6456   0.7150   1.0194  

Coefficients:
                       Estimate Std. Error z value Pr(>|z|)    
(Intercept)          -17.700869  50.816422  -0.348 0.727593    
currentDF[, PROTEIN]  -0.304533   0.079925  -3.810 0.000139 ***
Age                    0.004359   0.007869   0.554 0.579607    
Gendermale             0.066303   0.158551   0.418 0.675814    
ORdate_year            0.009316   0.025343   0.368 0.713171    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 1217.1  on 1181  degrees of freedom
Residual deviance: 1200.8  on 1177  degrees of freedom
AIC: 1210.8

Number of Fisher Scoring iterations: 4

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ml_2015_rank ' with ' CollagenPlaque ' ...
Collecting data...
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ml_2015_rank 
Trait/outcome.............: CollagenPlaque 
Effect size...............: -0.304533 
Standard error............: 0.079925 
Odds ratio (effect size)..: 0.737 
Lower 95% CI..............: 0.631 
Upper 95% CI..............: 0.863 
Z-value...................: -3.810259 
P-value...................: 0.0001388211 
Hosmer and Lemeshow r^2...: 0.013321 
Cox and Snell r^2.........: 0.013622 
Nagelkerke's pseudo r^2...: 0.021189 
Sample size of AE DB......: 2423 
Sample size of model......: 1182 
Missing data %............: 51.2175 

- processing Fat10Perc


Call:  glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    Age + Gender + ORdate_year, family = binomial(link = "logit"), 
    data = currentDF)

Coefficients:
         (Intercept)  currentDF[, PROTEIN]                   Age            Gendermale           ORdate_year  
           467.88804               0.44852               0.01646               0.80595              -0.23342  

Degrees of Freedom: 1181 Total (i.e. Null);  1177 Residual
Null Deviance:      1390 
Residual Deviance: 1258     AIC: 1268

Call:
glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    Age + Gender + ORdate_year, family = binomial(link = "logit"), 
    data = currentDF)

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-2.6456  -0.9830   0.5993   0.7919   1.6326  

Coefficients:
                       Estimate Std. Error z value Pr(>|z|)    
(Intercept)          467.888045  53.325556   8.774  < 2e-16 ***
currentDF[, PROTEIN]   0.448516   0.079848   5.617 1.94e-08 ***
Age                    0.016457   0.007424   2.217   0.0266 *  
Gendermale             0.805951   0.144389   5.582 2.38e-08 ***
ORdate_year           -0.233421   0.026589  -8.779  < 2e-16 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 1390.3  on 1181  degrees of freedom
Residual deviance: 1258.3  on 1177  degrees of freedom
AIC: 1268.3

Number of Fisher Scoring iterations: 4

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ml_2015_rank ' with ' Fat10Perc ' ...
Collecting data...
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ml_2015_rank 
Trait/outcome.............: Fat10Perc 
Effect size...............: 0.448516 
Standard error............: 0.079848 
Odds ratio (effect size)..: 1.566 
Lower 95% CI..............: 1.339 
Upper 95% CI..............: 1.831 
Z-value...................: 5.617133 
P-value...................: 1.941519e-08 
Hosmer and Lemeshow r^2...: 0.094988 
Cox and Snell r^2.........: 0.105714 
Nagelkerke's pseudo r^2...: 0.152862 
Sample size of AE DB......: 2423 
Sample size of model......: 1182 
Missing data %............: 51.2175 

- processing IPH


Call:  glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    Gender + ORdate_year, family = binomial(link = "logit"), 
    data = currentDF)

Coefficients:
         (Intercept)  currentDF[, PROTEIN]            Gendermale           ORdate_year  
            381.3362                0.1826                0.6048               -0.1900  

Degrees of Freedom: 1178 Total (i.e. Null);  1175 Residual
Null Deviance:      1578 
Residual Deviance: 1483     AIC: 1491

Call:
glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    Age + Gender + ORdate_year, family = binomial(link = "logit"), 
    data = currentDF)

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-2.0163  -1.1800   0.7413   0.9609   1.6978  

Coefficients:
                       Estimate Std. Error z value Pr(>|z|)    
(Intercept)          386.982789  46.879353   8.255  < 2e-16 ***
currentDF[, PROTEIN]   0.181469   0.069739   2.602  0.00926 ** 
Age                    0.008978   0.006779   1.324  0.18537    
Gendermale             0.603961   0.134706   4.484 7.34e-06 ***
ORdate_year           -0.193095   0.023380  -8.259  < 2e-16 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 1578.0  on 1178  degrees of freedom
Residual deviance: 1481.4  on 1174  degrees of freedom
AIC: 1491.4

Number of Fisher Scoring iterations: 4

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ml_2015_rank ' with ' IPH ' ...
Collecting data...
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ml_2015_rank 
Trait/outcome.............: IPH 
Effect size...............: 0.181469 
Standard error............: 0.069739 
Odds ratio (effect size)..: 1.199 
Lower 95% CI..............: 1.046 
Upper 95% CI..............: 1.375 
Z-value...................: 2.602126 
P-value...................: 0.009264778 
Hosmer and Lemeshow r^2...: 0.061186 
Cox and Snell r^2.........: 0.078628 
Nagelkerke's pseudo r^2...: 0.106581 
Sample size of AE DB......: 2423 
Sample size of model......: 1179 
Missing data %............: 51.34131 

- processing MAC_binned


Call:  glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    Gender + ORdate_year, family = binomial(link = "logit"), 
    data = currentDF)

Coefficients:
         (Intercept)  currentDF[, PROTEIN]            Gendermale           ORdate_year  
            261.8955                0.2204                0.5260               -0.1306  

Degrees of Freedom: 1175 Total (i.e. Null);  1172 Residual
Null Deviance:      1629 
Residual Deviance: 1571     AIC: 1579

Call:
glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    Age + Gender + ORdate_year, family = binomial(link = "logit"), 
    data = currentDF)

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-1.7993  -1.1493   0.8206   1.0983   1.6704  

Coefficients:
                       Estimate Std. Error z value Pr(>|z|)    
(Intercept)          258.120368  44.216573   5.838 5.29e-09 ***
currentDF[, PROTEIN]   0.221792   0.066957   3.312 0.000925 ***
Age                   -0.006995   0.006559  -1.066 0.286220    
Gendermale             0.528275   0.131558   4.016 5.93e-05 ***
ORdate_year           -0.128524   0.022049  -5.829 5.57e-09 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 1629.3  on 1175  degrees of freedom
Residual deviance: 1570.2  on 1171  degrees of freedom
AIC: 1580.2

Number of Fisher Scoring iterations: 4

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ml_2015_rank ' with ' MAC_binned ' ...
Collecting data...
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ml_2015_rank 
Trait/outcome.............: MAC_binned 
Effect size...............: 0.221792 
Standard error............: 0.066957 
Odds ratio (effect size)..: 1.248 
Lower 95% CI..............: 1.095 
Upper 95% CI..............: 1.423 
Z-value...................: 3.312458 
P-value...................: 0.0009247989 
Hosmer and Lemeshow r^2...: 0.036292 
Cox and Snell r^2.........: 0.049038 
Nagelkerke's pseudo r^2...: 0.065402 
Sample size of AE DB......: 2423 
Sample size of model......: 1176 
Missing data %............: 51.46513 

- processing SMC_binned


Call:  glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    Age + Gender, family = binomial(link = "logit"), data = currentDF)

Coefficients:
         (Intercept)  currentDF[, PROTEIN]                   Age            Gendermale  
             2.83719              -0.30011              -0.02675              -0.29630  

Degrees of Freedom: 1176 Total (i.e. Null);  1173 Residual
Null Deviance:      1470 
Residual Deviance: 1425     AIC: 1433

Call:
glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    Age + Gender + ORdate_year, family = binomial(link = "logit"), 
    data = currentDF)

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-1.9616  -1.3190   0.7505   0.8931   1.3158  

Coefficients:
                      Estimate Std. Error z value Pr(>|z|)    
(Intercept)          25.048652  45.710531   0.548 0.583703    
currentDF[, PROTEIN] -0.287159   0.071979  -3.989 6.62e-05 ***
Age                  -0.026390   0.007197  -3.667 0.000246 ***
Gendermale           -0.299149   0.144473  -2.071 0.038395 *  
ORdate_year          -0.011078   0.022797  -0.486 0.626996    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 1470.1  on 1176  degrees of freedom
Residual deviance: 1425.2  on 1172  degrees of freedom
AIC: 1435.2

Number of Fisher Scoring iterations: 4

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ml_2015_rank ' with ' SMC_binned ' ...
Collecting data...
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ml_2015_rank 
Trait/outcome.............: SMC_binned 
Effect size...............: -0.287159 
Standard error............: 0.071979 
Odds ratio (effect size)..: 0.75 
Lower 95% CI..............: 0.652 
Upper 95% CI..............: 0.864 
Z-value...................: -3.989465 
P-value...................: 6.622254e-05 
Hosmer and Lemeshow r^2...: 0.030554 
Cox and Snell r^2.........: 0.037444 
Nagelkerke's pseudo r^2...: 0.0525 
Sample size of AE DB......: 2423 
Sample size of model......: 1177 
Missing data %............: 51.42386 

Analysis of MCP1_rank.

- processing CalcificationPlaque


Call:  glm(formula = as.factor(currentDF[, TRAIT]) ~ ORdate_year, family = binomial(link = "logit"), 
    data = currentDF)

Coefficients:
(Intercept)  ORdate_year  
  -451.4488       0.2255  

Degrees of Freedom: 555 Total (i.e. Null);  554 Residual
Null Deviance:      749.7 
Residual Deviance: 741.7    AIC: 745.7

Call:
glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    Age + Gender + ORdate_year, family = binomial(link = "logit"), 
    data = currentDF)

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-1.6532  -1.2833   0.8799   1.0256   1.3391  

Coefficients:
                       Estimate Std. Error z value Pr(>|z|)  
(Intercept)          -404.18119  165.52876  -2.442   0.0146 *
currentDF[, PROTEIN]   -0.09186    0.09068  -1.013   0.3110  
Age                     0.01195    0.01016   1.176   0.2397  
Gendermale             -0.15600    0.19729  -0.791   0.4291  
ORdate_year             0.20155    0.08263   2.439   0.0147 *
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 749.67  on 555  degrees of freedom
Residual deviance: 738.30  on 551  degrees of freedom
AIC: 748.3

Number of Fisher Scoring iterations: 4

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' CalcificationPlaque ' ...
Collecting data...
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_rank 
Trait/outcome.............: CalcificationPlaque 
Effect size...............: -0.091864 
Standard error............: 0.090683 
Odds ratio (effect size)..: 0.912 
Lower 95% CI..............: 0.764 
Upper 95% CI..............: 1.09 
Z-value...................: -1.013025 
P-value...................: 0.3110484 
Hosmer and Lemeshow r^2...: 0.015167 
Cox and Snell r^2.........: 0.020242 
Nagelkerke's pseudo r^2...: 0.027342 
Sample size of AE DB......: 2423 
Sample size of model......: 556 
Missing data %............: 77.05324 

- processing CollagenPlaque


Call:  glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    ORdate_year, family = binomial(link = "logit"), data = currentDF)

Coefficients:
         (Intercept)  currentDF[, PROTEIN]           ORdate_year  
           -780.9134               -0.4799                0.3905  

Degrees of Freedom: 553 Total (i.e. Null);  551 Residual
Null Deviance:      538 
Residual Deviance: 498  AIC: 504

Call:
glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    Age + Gender + ORdate_year, family = binomial(link = "logit"), 
    data = currentDF)

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-2.3527   0.3688   0.5145   0.6775   1.4039  

Coefficients:
                       Estimate Std. Error z value Pr(>|z|)    
(Intercept)          -801.64188  214.85023  -3.731 0.000191 ***
currentDF[, PROTEIN]   -0.48686    0.12206  -3.989 6.65e-05 ***
Age                    -0.01852    0.01355  -1.367 0.171532    
Gendermale             -0.14801    0.26231  -0.564 0.572575    
ORdate_year             0.40152    0.10726   3.743 0.000182 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 537.98  on 553  degrees of freedom
Residual deviance: 495.64  on 549  degrees of freedom
AIC: 505.64

Number of Fisher Scoring iterations: 4

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' CollagenPlaque ' ...
Collecting data...
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_rank 
Trait/outcome.............: CollagenPlaque 
Effect size...............: -0.486864 
Standard error............: 0.122064 
Odds ratio (effect size)..: 0.615 
Lower 95% CI..............: 0.484 
Upper 95% CI..............: 0.781 
Z-value...................: -3.988597 
P-value...................: 6.646533e-05 
Hosmer and Lemeshow r^2...: 0.0787 
Cox and Snell r^2.........: 0.073577 
Nagelkerke's pseudo r^2...: 0.118419 
Sample size of AE DB......: 2423 
Sample size of model......: 554 
Missing data %............: 77.13578 

- processing Fat10Perc


Call:  glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    Gender, family = binomial(link = "logit"), data = currentDF)

Coefficients:
         (Intercept)  currentDF[, PROTEIN]            Gendermale  
              1.2197                0.6668                0.5508  

Degrees of Freedom: 555 Total (i.e. Null);  553 Residual
Null Deviance:      538.8 
Residual Deviance: 497.2    AIC: 503.2

Call:
glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    Age + Gender + ORdate_year, family = binomial(link = "logit"), 
    data = currentDF)

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-2.4515   0.3661   0.5131   0.6573   1.4042  

Coefficients:
                       Estimate Std. Error z value Pr(>|z|)    
(Intercept)          -2.478e+02  2.145e+02  -1.156    0.248    
currentDF[, PROTEIN]  6.953e-01  1.238e-01   5.617 1.94e-08 ***
Age                   4.338e-03  1.299e-02   0.334    0.738    
Gendermale            5.263e-01  2.365e-01   2.226    0.026 *  
ORdate_year           1.242e-01  1.071e-01   1.160    0.246    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 538.82  on 555  degrees of freedom
Residual deviance: 495.66  on 551  degrees of freedom
AIC: 505.66

Number of Fisher Scoring iterations: 4

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' Fat10Perc ' ...
Collecting data...
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_rank 
Trait/outcome.............: Fat10Perc 
Effect size...............: 0.695328 
Standard error............: 0.123786 
Odds ratio (effect size)..: 2.004 
Lower 95% CI..............: 1.573 
Upper 95% CI..............: 2.555 
Z-value...................: 5.617164 
P-value...................: 1.941174e-08 
Hosmer and Lemeshow r^2...: 0.080102 
Cox and Snell r^2.........: 0.07469 
Nagelkerke's pseudo r^2...: 0.120356 
Sample size of AE DB......: 2423 
Sample size of model......: 556 
Missing data %............: 77.05324 

- processing IPH


Call:  glm(formula = as.factor(currentDF[, TRAIT]) ~ Age + Gender, family = binomial(link = "logit"), 
    data = currentDF)

Coefficients:
(Intercept)          Age   Gendermale  
   -0.76646      0.02073      0.78990  

Degrees of Freedom: 555 Total (i.e. Null);  553 Residual
Null Deviance:      611.8 
Residual Deviance: 594.4    AIC: 600.4

Call:
glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    Age + Gender + ORdate_year, family = binomial(link = "logit"), 
    data = currentDF)

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-2.0029   0.5582   0.6468   0.7206   1.1969  

Coefficients:
                       Estimate Std. Error z value Pr(>|z|)    
(Intercept)           15.339755 191.148455   0.080 0.936038    
currentDF[, PROTEIN]   0.064053   0.104480   0.613 0.539831    
Age                    0.021375   0.011622   1.839 0.065905 .  
Gendermale             0.774693   0.212151   3.652 0.000261 ***
ORdate_year           -0.008053   0.095422  -0.084 0.932743    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 611.78  on 555  degrees of freedom
Residual deviance: 593.99  on 551  degrees of freedom
AIC: 603.99

Number of Fisher Scoring iterations: 4

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' IPH ' ...
Collecting data...
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_rank 
Trait/outcome.............: IPH 
Effect size...............: 0.064053 
Standard error............: 0.10448 
Odds ratio (effect size)..: 1.066 
Lower 95% CI..............: 0.869 
Upper 95% CI..............: 1.308 
Z-value...................: 0.613068 
P-value...................: 0.5398311 
Hosmer and Lemeshow r^2...: 0.029089 
Cox and Snell r^2.........: 0.031501 
Nagelkerke's pseudo r^2...: 0.047211 
Sample size of AE DB......: 2423 
Sample size of model......: 556 
Missing data %............: 77.05324 

- processing MAC_binned


Call:  glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    Gender + ORdate_year, family = binomial(link = "logit"), 
    data = currentDF)

Coefficients:
         (Intercept)  currentDF[, PROTEIN]            Gendermale           ORdate_year  
           -823.9069                0.3857                0.3390                0.4112  

Degrees of Freedom: 551 Total (i.e. Null);  548 Residual
Null Deviance:      749.1 
Residual Deviance: 711.3    AIC: 719.3

Call:
glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    Age + Gender + ORdate_year, family = binomial(link = "logit"), 
    data = currentDF)

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-1.9353  -1.1973   0.7687   1.0163   1.6249  

Coefficients:
                       Estimate Std. Error z value Pr(>|z|)    
(Intercept)          -839.30600  175.54024  -4.781 1.74e-06 ***
currentDF[, PROTEIN]    0.37956    0.09495   3.998 6.40e-05 ***
Age                    -0.01358    0.01043  -1.302   0.1928    
Gendermale              0.34867    0.19858   1.756   0.0791 .  
ORdate_year             0.41935    0.08763   4.785 1.71e-06 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 749.15  on 551  degrees of freedom
Residual deviance: 709.62  on 547  degrees of freedom
AIC: 719.62

Number of Fisher Scoring iterations: 4

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' MAC_binned ' ...
Collecting data...
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_rank 
Trait/outcome.............: MAC_binned 
Effect size...............: 0.379557 
Standard error............: 0.094948 
Odds ratio (effect size)..: 1.462 
Lower 95% CI..............: 1.213 
Upper 95% CI..............: 1.761 
Z-value...................: 3.997506 
P-value...................: 6.401333e-05 
Hosmer and Lemeshow r^2...: 0.052768 
Cox and Snell r^2.........: 0.06911 
Nagelkerke's pseudo r^2...: 0.093064 
Sample size of AE DB......: 2423 
Sample size of model......: 552 
Missing data %............: 77.21832 

- processing SMC_binned


Call:  glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    Age + Gender + ORdate_year, family = binomial(link = "logit"), 
    data = currentDF)

Coefficients:
         (Intercept)  currentDF[, PROTEIN]                   Age            Gendermale           ORdate_year  
          -331.25779              -0.44085              -0.03875              -0.59679               0.16731  

Degrees of Freedom: 552 Total (i.e. Null);  548 Residual
Null Deviance:      667.1 
Residual Deviance: 622.7    AIC: 632.7

Call:
glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    Age + Gender + ORdate_year, family = binomial(link = "logit"), 
    data = currentDF)

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-2.1704  -1.2187   0.6567   0.8334   1.4336  

Coefficients:
                       Estimate Std. Error z value Pr(>|z|)    
(Intercept)          -331.25779  184.63912  -1.794  0.07280 .  
currentDF[, PROTEIN]   -0.44085    0.10541  -4.182 2.88e-05 ***
Age                    -0.03875    0.01183  -3.276  0.00105 ** 
Gendermale             -0.59679    0.23370  -2.554  0.01066 *  
ORdate_year             0.16731    0.09218   1.815  0.06952 .  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 667.10  on 552  degrees of freedom
Residual deviance: 622.68  on 548  degrees of freedom
AIC: 632.68

Number of Fisher Scoring iterations: 4

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' SMC_binned ' ...
Collecting data...
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_rank 
Trait/outcome.............: SMC_binned 
Effect size...............: -0.440853 
Standard error............: 0.105406 
Odds ratio (effect size)..: 0.643 
Lower 95% CI..............: 0.523 
Upper 95% CI..............: 0.791 
Z-value...................: -4.182437 
P-value...................: 2.88401e-05 
Hosmer and Lemeshow r^2...: 0.066596 
Cox and Snell r^2.........: 0.077195 
Nagelkerke's pseudo r^2...: 0.110168 
Sample size of AE DB......: 2423 
Sample size of model......: 553 
Missing data %............: 77.17705 

Analysis of MCP1_plasma_olink_rank.

- processing CalcificationPlaque


Call:  glm(formula = as.factor(currentDF[, TRAIT]) ~ Age + ORdate_year, 
    family = binomial(link = "logit"), data = currentDF)

Coefficients:
(Intercept)          Age  ORdate_year  
  269.97365      0.02205     -0.13534  

Degrees of Freedom: 549 Total (i.e. Null);  547 Residual
Null Deviance:      755.5 
Residual Deviance: 727.5    AIC: 733.5

Call:
glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    Age + Gender + ORdate_year, family = binomial(link = "logit"), 
    data = currentDF)

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-1.5320  -1.0391  -0.7965   1.1898   1.7303  

Coefficients:
                      Estimate Std. Error z value Pr(>|z|)    
(Intercept)          273.51943   55.19615   4.955 7.22e-07 ***
currentDF[, PROTEIN]  -0.03494    0.08978  -0.389   0.6971    
Age                    0.02354    0.01006   2.340   0.0193 *  
Gendermale            -0.14575    0.18861  -0.773   0.4397    
ORdate_year           -0.13711    0.02756  -4.975 6.52e-07 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 755.46  on 549  degrees of freedom
Residual deviance: 726.70  on 545  degrees of freedom
AIC: 736.7

Number of Fisher Scoring iterations: 4

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_plasma_olink_rank ' with ' CalcificationPlaque ' ...
Collecting data...
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_plasma_olink_rank 
Trait/outcome.............: CalcificationPlaque 
Effect size...............: -0.034943 
Standard error............: 0.089781 
Odds ratio (effect size)..: 0.966 
Lower 95% CI..............: 0.81 
Upper 95% CI..............: 1.151 
Z-value...................: -0.389206 
P-value...................: 0.6971234 
Hosmer and Lemeshow r^2...: 0.03807 
Cox and Snell r^2.........: 0.050947 
Nagelkerke's pseudo r^2...: 0.068221 
Sample size of AE DB......: 2423 
Sample size of model......: 550 
Missing data %............: 77.30087 

- processing CollagenPlaque


Call:  glm(formula = as.factor(currentDF[, TRAIT]) ~ Age, family = binomial(link = "logit"), 
    data = currentDF)

Coefficients:
(Intercept)          Age  
   -0.35865      0.02119  

Degrees of Freedom: 547 Total (i.e. Null);  546 Residual
Null Deviance:      614.1 
Residual Deviance: 610.2    AIC: 614.2

Call:
glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    Age + Gender + ORdate_year, family = binomial(link = "logit"), 
    data = currentDF)

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-1.8817   0.6079   0.7110   0.7762   1.0162  

Coefficients:
                     Estimate Std. Error z value Pr(>|z|)  
(Intercept)          52.54596   60.75132   0.865   0.3871  
currentDF[, PROTEIN]  0.05692    0.10123   0.562   0.5739  
Age                   0.02158    0.01118   1.930   0.0536 .
Gendermale           -0.09615    0.21428  -0.449   0.6536  
ORdate_year          -0.02633    0.03031  -0.869   0.3851  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 614.11  on 547  degrees of freedom
Residual deviance: 608.85  on 543  degrees of freedom
AIC: 618.85

Number of Fisher Scoring iterations: 4

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_plasma_olink_rank ' with ' CollagenPlaque ' ...
Collecting data...
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_plasma_olink_rank 
Trait/outcome.............: CollagenPlaque 
Effect size...............: 0.05692 
Standard error............: 0.101232 
Odds ratio (effect size)..: 1.059 
Lower 95% CI..............: 0.868 
Upper 95% CI..............: 1.291 
Z-value...................: 0.562272 
P-value...................: 0.5739306 
Hosmer and Lemeshow r^2...: 0.008569 
Cox and Snell r^2.........: 0.009557 
Nagelkerke's pseudo r^2...: 0.014181 
Sample size of AE DB......: 2423 
Sample size of model......: 548 
Missing data %............: 77.38341 

- processing Fat10Perc


Call:  glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    Age + Gender + ORdate_year, family = binomial(link = "logit"), 
    data = currentDF)

Coefficients:
         (Intercept)  currentDF[, PROTEIN]                   Age            Gendermale           ORdate_year  
           111.80484              -0.14944               0.02229               0.87302              -0.05626  

Degrees of Freedom: 549 Total (i.e. Null);  545 Residual
Null Deviance:      652.2 
Residual Deviance: 625.1    AIC: 635.1

Call:
glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    Age + Gender + ORdate_year, family = binomial(link = "logit"), 
    data = currentDF)

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-1.9812  -1.2413   0.6822   0.8022   1.3509  

Coefficients:
                      Estimate Std. Error z value Pr(>|z|)    
(Intercept)          111.80484   60.03007   1.862   0.0625 .  
currentDF[, PROTEIN]  -0.14944    0.10006  -1.493   0.1353    
Age                    0.02229    0.01088   2.049   0.0405 *  
Gendermale             0.87302    0.19980   4.370 1.25e-05 ***
ORdate_year           -0.05626    0.02996  -1.878   0.0604 .  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 652.25  on 549  degrees of freedom
Residual deviance: 625.11  on 545  degrees of freedom
AIC: 635.11

Number of Fisher Scoring iterations: 4

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_plasma_olink_rank ' with ' Fat10Perc ' ...
Collecting data...
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_plasma_olink_rank 
Trait/outcome.............: Fat10Perc 
Effect size...............: -0.149435 
Standard error............: 0.100059 
Odds ratio (effect size)..: 0.861 
Lower 95% CI..............: 0.708 
Upper 95% CI..............: 1.048 
Z-value...................: -1.493464 
P-value...................: 0.1353157 
Hosmer and Lemeshow r^2...: 0.041606 
Cox and Snell r^2.........: 0.048143 
Nagelkerke's pseudo r^2...: 0.069318 
Sample size of AE DB......: 2423 
Sample size of model......: 550 
Missing data %............: 77.30087 

- processing IPH


Call:  glm(formula = as.factor(currentDF[, TRAIT]) ~ Gender + ORdate_year, 
    family = binomial(link = "logit"), data = currentDF)

Coefficients:
(Intercept)   Gendermale  ORdate_year  
  182.76087      0.58346     -0.09097  

Degrees of Freedom: 548 Total (i.e. Null);  546 Residual
Null Deviance:      731.4 
Residual Deviance: 710.4    AIC: 716.4

Call:
glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    Age + Gender + ORdate_year, family = binomial(link = "logit"), 
    data = currentDF)

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-1.7203  -1.2967   0.7858   1.0002   1.4155  

Coefficients:
                       Estimate Std. Error z value Pr(>|z|)   
(Intercept)           1.804e+02  5.530e+01   3.263  0.00110 **
currentDF[, PROTEIN]  5.079e-02  9.099e-02   0.558  0.57672   
Age                  -4.181e-04  1.007e-02  -0.042  0.96687   
Gendermale            5.780e-01  1.886e-01   3.065  0.00218 **
ORdate_year          -8.980e-02  2.760e-02  -3.254  0.00114 **
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 731.43  on 548  degrees of freedom
Residual deviance: 710.05  on 544  degrees of freedom
AIC: 720.05

Number of Fisher Scoring iterations: 4

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_plasma_olink_rank ' with ' IPH ' ...
Collecting data...
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_plasma_olink_rank 
Trait/outcome.............: IPH 
Effect size...............: 0.05079 
Standard error............: 0.090992 
Odds ratio (effect size)..: 1.052 
Lower 95% CI..............: 0.88 
Upper 95% CI..............: 1.258 
Z-value...................: 0.558177 
P-value...................: 0.5767237 
Hosmer and Lemeshow r^2...: 0.029228 
Cox and Snell r^2.........: 0.038191 
Nagelkerke's pseudo r^2...: 0.051881 
Sample size of AE DB......: 2423 
Sample size of model......: 549 
Missing data %............: 77.34214 

- processing MAC_binned


Call:  glm(formula = as.factor(currentDF[, TRAIT]) ~ Gender + ORdate_year, 
    family = binomial(link = "logit"), data = currentDF)

Coefficients:
(Intercept)   Gendermale  ORdate_year  
  134.63657      0.68276     -0.06721  

Degrees of Freedom: 544 Total (i.e. Null);  542 Residual
Null Deviance:      753 
Residual Deviance: 733.1    AIC: 739.1

Call:
glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    Age + Gender + ORdate_year, family = binomial(link = "logit"), 
    data = currentDF)

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-1.5185  -1.2141   0.8996   1.0816   1.5033  

Coefficients:
                       Estimate Std. Error z value Pr(>|z|)    
(Intercept)          133.774619  54.125836   2.472 0.013453 *  
currentDF[, PROTEIN]   0.004627   0.088814   0.052 0.958453    
Age                   -0.000919   0.009896  -0.093 0.926010    
Gendermale             0.683643   0.187768   3.641 0.000272 ***
ORdate_year           -0.066752   0.027010  -2.471 0.013457 *  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 753.02  on 544  degrees of freedom
Residual deviance: 733.07  on 540  degrees of freedom
AIC: 743.07

Number of Fisher Scoring iterations: 4

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_plasma_olink_rank ' with ' MAC_binned ' ...
Collecting data...
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_plasma_olink_rank 
Trait/outcome.............: MAC_binned 
Effect size...............: 0.004627 
Standard error............: 0.088814 
Odds ratio (effect size)..: 1.005 
Lower 95% CI..............: 0.844 
Upper 95% CI..............: 1.196 
Z-value...................: 0.052095 
P-value...................: 0.9584528 
Hosmer and Lemeshow r^2...: 0.026485 
Cox and Snell r^2.........: 0.035932 
Nagelkerke's pseudo r^2...: 0.047983 
Sample size of AE DB......: 2423 
Sample size of model......: 545 
Missing data %............: 77.50722 

- processing SMC_binned


Call:  glm(formula = as.factor(currentDF[, TRAIT]) ~ Age + Gender + 
    ORdate_year, family = binomial(link = "logit"), data = currentDF)

Coefficients:
(Intercept)          Age   Gendermale  ORdate_year  
  106.25670     -0.01859     -0.29266     -0.05181  

Degrees of Freedom: 544 Total (i.e. Null);  541 Residual
Null Deviance:      690 
Residual Deviance: 679.7    AIC: 687.7

Call:
glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    Age + Gender + ORdate_year, family = binomial(link = "logit"), 
    data = currentDF)

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-1.8009  -1.3637   0.8035   0.9115   1.1801  

Coefficients:
                      Estimate Std. Error z value Pr(>|z|)  
(Intercept)          107.42837   56.90606   1.888   0.0591 .
currentDF[, PROTEIN]  -0.01972    0.09305  -0.212   0.8321  
Age                   -0.01811    0.01059  -1.710   0.0873 .
Gendermale            -0.29059    0.20168  -1.441   0.1496  
ORdate_year           -0.05241    0.02839  -1.846   0.0649 .
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 690.04  on 544  degrees of freedom
Residual deviance: 679.64  on 540  degrees of freedom
AIC: 689.64

Number of Fisher Scoring iterations: 4

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_plasma_olink_rank ' with ' SMC_binned ' ...
Collecting data...
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_plasma_olink_rank 
Trait/outcome.............: SMC_binned 
Effect size...............: -0.019725 
Standard error............: 0.093051 
Odds ratio (effect size)..: 0.98 
Lower 95% CI..............: 0.817 
Upper 95% CI..............: 1.177 
Z-value...................: -0.211976 
P-value...................: 0.8321257 
Hosmer and Lemeshow r^2...: 0.015072 
Cox and Snell r^2.........: 0.018902 
Nagelkerke's pseudo r^2...: 0.026323 
Sample size of AE DB......: 2423 
Sample size of model......: 545 
Missing data %............: 77.50722 
cat("Edit the column names...\n")
Edit the column names...
colnames(GLM.results) = c("Dataset", "Predictor", "Trait",
                          "Beta", "s.e.m.",
                          "OR", "low95CI", "up95CI",
                          "Z-value", "P-value", "r^2_l", "r^2_cs", "r^2_nagelkerke", "AE_N", "Model_N", "Perc_Miss")

cat("Correct the variable types...\n")
Correct the variable types...
GLM.results$Beta <- as.numeric(GLM.results$Beta)
GLM.results$s.e.m. <- as.numeric(GLM.results$s.e.m.)
GLM.results$OR <- as.numeric(GLM.results$OR)
GLM.results$low95CI <- as.numeric(GLM.results$low95CI)
GLM.results$up95CI <- as.numeric(GLM.results$up95CI)
GLM.results$`Z-value` <- as.numeric(GLM.results$`Z-value`)
GLM.results$`P-value` <- as.numeric(GLM.results$`P-value`)
GLM.results$`r^2_l` <- as.numeric(GLM.results$`r^2_l`)
GLM.results$`r^2_cs` <- as.numeric(GLM.results$`r^2_cs`)
GLM.results$`r^2_nagelkerke` <- as.numeric(GLM.results$`r^2_nagelkerke`)
GLM.results$`AE_N` <- as.numeric(GLM.results$`AE_N`)
GLM.results$`Model_N` <- as.numeric(GLM.results$`Model_N`)
GLM.results$`Perc_Miss` <- as.numeric(GLM.results$`Perc_Miss`)

# Save the data
cat("Writing results to Excel-file...\n")
Writing results to Excel-file...
### Univariate
write.xlsx(GLM.results,
           file = paste0(OUT_loc, "/",Today,".AEDB.CEA.Bin.Uni.Protein.PlaquePhenotypes.RANK.MODEL1.xlsx"),
           row.names = FALSE, col.names = TRUE, sheetName = "Bin.Uni.PlaquePheno")

# Removing intermediates
cat("Removing intermediate files...\n")
Removing intermediate files...
rm(TRAIT, trait, currentDF, GLM.results, GLM.results.TEMP, fit, model_step)

Model 2

In this model we correct for Age, Gender, year of surgery, Hypertension status, Diabetes status, current smoker status, lipid-lowering drugs (LLDs), antiplatelet medication, eGFR (MDRD), BMI, MedHx_CVD (combination of CAD history, stroke history, and peripheral interventions), and stenosis.

Here we use the inverse-rank normalized data - visually this is more normally distributed.

Quantitative plaque traits

Analysis of continuous/quantitative plaque traits as a function of plasma/plaque MCP1 levels.


GLM.results <- data.frame(matrix(NA, ncol = 15, nrow = 0))
cat("Running linear regression...\n")
Running linear regression...
for (protein in 1:length(TRAITS.PROTEIN.RANK)) {
  PROTEIN = TRAITS.PROTEIN.RANK[protein]
  cat(paste0("\nAnalysis of ",PROTEIN,".\n"))
  for (trait in 1:length(TRAITS.CON.RANK)) {
    TRAIT = TRAITS.CON.RANK[trait]
    cat(paste0("\n- processing ",TRAIT,"\n\n"))
    currentDF <- as.data.frame(AEDB.CEA %>%
      dplyr::select(., PROTEIN, TRAIT, COVARIATES_M2) %>%
      filter(complete.cases(.))) %>%
      filter_if(~is.numeric(.), all_vars(!is.infinite(.)))
    # for debug
    # print(DT::datatable(currentDF))
    # print(nrow(currentDF))
    # print(str(currentDF))
    ### univariate
    fit <- lm(currentDF[,PROTEIN] ~ currentDF[,TRAIT] + Age + Gender + ORdate_year + 
                Hypertension.composite + DiabetesStatus + SmokerStatus + 
                Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + BMI + 
                MedHx_CVD + stenose, 
              data = currentDF)
    model_step <- stepAIC(fit, direction = "both", trace = FALSE)
    print(model_step)
    print(summary(fit))
    
    GLM.results.TEMP <- data.frame(matrix(NA, ncol = 15, nrow = 0))
    GLM.results.TEMP[1,] = GLM.CON(fit, "AEDB.CEA", PROTEIN, TRAIT, verbose = TRUE)
    GLM.results = rbind(GLM.results, GLM.results.TEMP)
  }
}

Analysis of MCP1_pg_ug_2015_rank.

- processing Macrophages_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ ORdate_year + Hypertension.composite + 
    Med.Statin.LLD, data = currentDF)

Coefficients:
              (Intercept)                ORdate_year  Hypertension.compositeyes          Med.Statin.LLDyes  
               -180.14402                    0.08994                   -0.19984                   -0.21274  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.1475 -0.6379 -0.0158  0.5706  3.2823 

Coefficients:
                            Estimate Std. Error t value Pr(>|t|)    
(Intercept)               -1.911e+02  2.227e+01  -8.583   <2e-16 ***
currentDF[, TRAIT]         1.154e-02  3.180e-02   0.363   0.7167    
Age                       -6.016e-03  3.820e-03  -1.575   0.1156    
Gendermale                 8.529e-02  6.835e-02   1.248   0.2124    
ORdate_year                9.548e-02  1.111e-02   8.597   <2e-16 ***
Hypertension.compositeyes -1.979e-01  9.301e-02  -2.127   0.0336 *  
DiabetesStatusDiabetes    -3.141e-02  7.459e-02  -0.421   0.6738    
SmokerStatusEx-smoker     -3.458e-02  7.046e-02  -0.491   0.6237    
SmokerStatusNever smoked   1.009e-01  9.950e-02   1.014   0.3110    
Med.Statin.LLDyes         -2.334e-01  7.534e-02  -3.098   0.0020 ** 
Med.all.antiplateletyes    5.232e-03  1.049e-01   0.050   0.9602    
GFR_MDRD                  -1.603e-03  1.624e-03  -0.987   0.3238    
BMI                       -1.821e-03  8.518e-03  -0.214   0.8308    
MedHx_CVDyes               2.095e-02  6.401e-02   0.327   0.7435    
stenose50-70%              2.949e-01  4.165e-01   0.708   0.4791    
stenose70-90%              4.026e-01  3.998e-01   1.007   0.3141    
stenose90-99%              3.865e-01  4.004e-01   0.965   0.3346    
stenose100% (Occlusion)   -1.085e-02  5.140e-01  -0.021   0.9832    
stenose50-99%              1.365e-01  6.272e-01   0.218   0.8277    
stenose70-99%              6.859e-02  5.627e-01   0.122   0.9030    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9674 on 1001 degrees of freedom
Multiple R-squared:  0.08998,   Adjusted R-squared:  0.07271 
F-statistic: 5.209 on 19 and 1001 DF,  p-value: 3.957e-12

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' Macrophages_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank 
Trait/outcome.............: Macrophages_rank 
Effect size...............: 0.011541 
Standard error............: 0.031798 
Odds ratio (effect size)..: 1.012 
Lower 95% CI..............: 0.95 
Upper 95% CI..............: 1.077 
T-value...................: 0.36295 
P-value...................: 0.7167188 
R^2.......................: 0.089983 
Adjusted r^2..............: 0.07271 
Sample size of AE DB......: 2423 
Sample size of model......: 1021 
Missing data %............: 57.86215 

- processing SMC_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    ORdate_year + Hypertension.composite + Med.Statin.LLD, data = currentDF)

Coefficients:
              (Intercept)         currentDF[, TRAIT]                        Age                ORdate_year  Hypertension.compositeyes  
               -1.764e+02                 -5.324e-02                 -5.359e-03                  8.828e-02                 -1.827e-01  
        Med.Statin.LLDyes  
               -2.244e-01  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.0767 -0.6241 -0.0146  0.5692  3.3052 

Coefficients:
                            Estimate Std. Error t value Pr(>|t|)    
(Intercept)               -1.828e+02  2.203e+01  -8.298 3.41e-16 ***
currentDF[, TRAIT]        -4.598e-02  3.259e-02  -1.411  0.15859    
Age                       -6.802e-03  3.852e-03  -1.766  0.07775 .  
Gendermale                 6.815e-02  6.940e-02   0.982  0.32637    
ORdate_year                9.138e-02  1.099e-02   8.316 2.97e-16 ***
Hypertension.compositeyes -1.931e-01  9.317e-02  -2.073  0.03844 *  
DiabetesStatusDiabetes    -3.052e-02  7.469e-02  -0.409  0.68290    
SmokerStatusEx-smoker     -3.282e-02  7.067e-02  -0.464  0.64245    
SmokerStatusNever smoked   9.394e-02  9.961e-02   0.943  0.34589    
Med.Statin.LLDyes         -2.296e-01  7.539e-02  -3.046  0.00238 ** 
Med.all.antiplateletyes   -2.309e-04  1.050e-01  -0.002  0.99825    
GFR_MDRD                  -1.493e-03  1.629e-03  -0.917  0.35959    
BMI                       -2.119e-03  8.540e-03  -0.248  0.80413    
MedHx_CVDyes               1.909e-02  6.419e-02   0.297  0.76617    
stenose50-70%              3.134e-01  4.170e-01   0.752  0.45246    
stenose70-90%              4.228e-01  4.003e-01   1.056  0.29113    
stenose90-99%              4.078e-01  4.009e-01   1.017  0.30936    
stenose100% (Occlusion)    4.733e-03  5.146e-01   0.009  0.99266    
stenose50-99%              1.795e-01  6.284e-01   0.286  0.77517    
stenose70-99%              1.129e-01  5.635e-01   0.200  0.84127    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9682 on 997 degrees of freedom
Multiple R-squared:  0.09129,   Adjusted R-squared:  0.07397 
F-statistic: 5.271 on 19 and 997 DF,  p-value: 2.547e-12

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' SMC_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank 
Trait/outcome.............: SMC_rank 
Effect size...............: -0.045976 
Standard error............: 0.032586 
Odds ratio (effect size)..: 0.955 
Lower 95% CI..............: 0.896 
Upper 95% CI..............: 1.018 
T-value...................: -1.410893 
P-value...................: 0.158588 
R^2.......................: 0.091289 
Adjusted r^2..............: 0.073971 
Sample size of AE DB......: 2423 
Sample size of model......: 1017 
Missing data %............: 58.02724 

- processing VesselDensity_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + ORdate_year + 
    Hypertension.composite + Med.Statin.LLD, data = currentDF)

Coefficients:
              (Intercept)         currentDF[, TRAIT]                ORdate_year  Hypertension.compositeyes          Med.Statin.LLDyes  
               -161.76734                   -0.09749                    0.08078                   -0.18405                   -0.21840  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.0450 -0.6534 -0.0088  0.5645  3.3553 

Coefficients:
                            Estimate Std. Error t value Pr(>|t|)    
(Intercept)               -1.691e+02  2.282e+01  -7.412 2.78e-13 ***
currentDF[, TRAIT]        -9.684e-02  3.286e-02  -2.947  0.00329 ** 
Age                       -5.379e-03  3.988e-03  -1.349  0.17765    
Gendermale                 9.656e-02  7.121e-02   1.356  0.17544    
ORdate_year                8.451e-02  1.139e-02   7.423 2.58e-13 ***
Hypertension.compositeyes -1.893e-01  9.719e-02  -1.948  0.05171 .  
DiabetesStatusDiabetes    -4.055e-02  7.964e-02  -0.509  0.61082    
SmokerStatusEx-smoker     -3.344e-02  7.379e-02  -0.453  0.65053    
SmokerStatusNever smoked   9.413e-02  1.041e-01   0.904  0.36606    
Med.Statin.LLDyes         -2.326e-01  7.796e-02  -2.983  0.00293 ** 
Med.all.antiplateletyes    2.414e-02  1.113e-01   0.217  0.82831    
GFR_MDRD                  -1.981e-03  1.706e-03  -1.161  0.24585    
BMI                       -7.099e-04  8.901e-03  -0.080  0.93645    
MedHx_CVDyes               1.338e-02  6.682e-02   0.200  0.84129    
stenose50-70%              2.358e-01  4.592e-01   0.514  0.60770    
stenose70-90%              3.639e-01  4.419e-01   0.824  0.41039    
stenose90-99%              3.389e-01  4.419e-01   0.767  0.44337    
stenose100% (Occlusion)   -6.102e-02  5.487e-01  -0.111  0.91146    
stenose50-99%              2.443e-01  6.583e-01   0.371  0.71059    
stenose70-99%             -1.601e-01  6.593e-01  -0.243  0.80823    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9766 on 933 degrees of freedom
Multiple R-squared:  0.09328,   Adjusted R-squared:  0.07482 
F-statistic: 5.052 on 19 and 933 DF,  p-value: 1.356e-11

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' VesselDensity_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank 
Trait/outcome.............: VesselDensity_rank 
Effect size...............: -0.096838 
Standard error............: 0.032861 
Odds ratio (effect size)..: 0.908 
Lower 95% CI..............: 0.851 
Upper 95% CI..............: 0.968 
T-value...................: -2.946925 
P-value...................: 0.003289388 
R^2.......................: 0.093282 
Adjusted r^2..............: 0.074817 
Sample size of AE DB......: 2423 
Sample size of model......: 953 
Missing data %............: 60.66859 

Analysis of MCP1_pg_ml_2015_rank.

- processing Macrophages_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year + Hypertension.composite + Med.Statin.LLD, data = currentDF)

Coefficients:
              (Intercept)         currentDF[, TRAIT]                 Gendermale                ORdate_year  Hypertension.compositeyes  
               -260.49868                    0.06069                    0.29422                    0.12984                   -0.13333  
        Med.Statin.LLDyes  
                 -0.21052  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-2.90020 -0.57577 -0.02735  0.60041  3.00874 

Coefficients:
                            Estimate Std. Error t value Pr(>|t|)    
(Intercept)               -2.635e+02  2.097e+01 -12.563  < 2e-16 ***
currentDF[, TRAIT]         5.919e-02  2.995e-02   1.977  0.04835 *  
Age                        1.825e-03  3.597e-03   0.507  0.61205    
Gendermale                 3.196e-01  6.437e-02   4.964  8.1e-07 ***
ORdate_year                1.313e-01  1.046e-02  12.553  < 2e-16 ***
Hypertension.compositeyes -1.348e-01  8.759e-02  -1.539  0.12424    
DiabetesStatusDiabetes    -4.051e-02  7.024e-02  -0.577  0.56426    
SmokerStatusEx-smoker     -5.669e-02  6.636e-02  -0.854  0.39319    
SmokerStatusNever smoked   2.783e-02  9.370e-02   0.297  0.76651    
Med.Statin.LLDyes         -2.103e-01  7.096e-02  -2.964  0.00311 ** 
Med.all.antiplateletyes    6.384e-02  9.880e-02   0.646  0.51833    
GFR_MDRD                  -4.344e-04  1.529e-03  -0.284  0.77647    
BMI                       -2.830e-03  8.022e-03  -0.353  0.72432    
MedHx_CVDyes               5.212e-03  6.028e-02   0.086  0.93111    
stenose50-70%             -1.761e-01  3.922e-01  -0.449  0.65353    
stenose70-90%              4.823e-03  3.765e-01   0.013  0.98978    
stenose90-99%             -3.883e-02  3.770e-01  -0.103  0.91800    
stenose100% (Occlusion)   -2.378e-01  4.841e-01  -0.491  0.62344    
stenose50-99%             -4.599e-01  5.907e-01  -0.779  0.43637    
stenose70-99%             -3.348e-01  5.299e-01  -0.632  0.52770    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.911 on 1001 degrees of freedom
Multiple R-squared:  0.1751,    Adjusted R-squared:  0.1595 
F-statistic: 11.19 on 19 and 1001 DF,  p-value: < 2.2e-16

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ml_2015_rank ' with ' Macrophages_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ml_2015_rank 
Trait/outcome.............: Macrophages_rank 
Effect size...............: 0.059193 
Standard error............: 0.029945 
Odds ratio (effect size)..: 1.061 
Lower 95% CI..............: 1.001 
Upper 95% CI..............: 1.125 
T-value...................: 1.976704 
P-value...................: 0.04834925 
R^2.......................: 0.175135 
Adjusted r^2..............: 0.159478 
Sample size of AE DB......: 2423 
Sample size of model......: 1021 
Missing data %............: 57.86215 

- processing SMC_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year + Hypertension.composite + Med.Statin.LLD, data = currentDF)

Coefficients:
              (Intercept)         currentDF[, TRAIT]                 Gendermale                ORdate_year  Hypertension.compositeyes  
               -235.47131                   -0.09684                    0.26854                    0.11737                   -0.13276  
        Med.Statin.LLDyes  
                 -0.19071  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-3.06717 -0.59118 -0.01529  0.56640  3.08389 

Coefficients:
                            Estimate Std. Error t value Pr(>|t|)    
(Intercept)               -2.401e+02  2.070e+01 -11.601  < 2e-16 ***
currentDF[, TRAIT]        -9.359e-02  3.061e-02  -3.058  0.00229 ** 
Age                       -8.914e-05  3.618e-03  -0.025  0.98035    
Gendermale                 2.930e-01  6.519e-02   4.494  7.8e-06 ***
ORdate_year                1.197e-01  1.032e-02  11.598  < 2e-16 ***
Hypertension.compositeyes -1.246e-01  8.751e-02  -1.424  0.15478    
DiabetesStatusDiabetes    -4.013e-02  7.016e-02  -0.572  0.56745    
SmokerStatusEx-smoker     -5.388e-02  6.638e-02  -0.812  0.41716    
SmokerStatusNever smoked   2.007e-02  9.357e-02   0.214  0.83020    
Med.Statin.LLDyes         -1.952e-01  7.081e-02  -2.756  0.00595 ** 
Med.all.antiplateletyes    4.912e-02  9.867e-02   0.498  0.61872    
GFR_MDRD                  -1.574e-04  1.530e-03  -0.103  0.91809    
BMI                       -3.457e-03  8.022e-03  -0.431  0.66658    
MedHx_CVDyes               2.805e-03  6.029e-02   0.047  0.96290    
stenose50-70%             -1.347e-01  3.917e-01  -0.344  0.73094    
stenose70-90%              5.330e-02  3.760e-01   0.142  0.88731    
stenose90-99%              7.963e-03  3.766e-01   0.021  0.98313    
stenose100% (Occlusion)   -2.181e-01  4.833e-01  -0.451  0.65191    
stenose50-99%             -3.620e-01  5.902e-01  -0.613  0.53980    
stenose70-99%             -2.212e-01  5.293e-01  -0.418  0.67615    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9094 on 997 degrees of freedom
Multiple R-squared:  0.1788,    Adjusted R-squared:  0.1631 
F-statistic: 11.42 on 19 and 997 DF,  p-value: < 2.2e-16

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ml_2015_rank ' with ' SMC_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ml_2015_rank 
Trait/outcome.............: SMC_rank 
Effect size...............: -0.093585 
Standard error............: 0.030608 
Odds ratio (effect size)..: 0.911 
Lower 95% CI..............: 0.858 
Upper 95% CI..............: 0.967 
T-value...................: -3.057532 
P-value...................: 0.002291186 
R^2.......................: 0.17877 
Adjusted r^2..............: 0.16312 
Sample size of AE DB......: 2423 
Sample size of model......: 1017 
Missing data %............: 58.02724 

- processing VesselDensity_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year + Hypertension.composite + Med.Statin.LLD, data = currentDF)

Coefficients:
              (Intercept)         currentDF[, TRAIT]                 Gendermale                ORdate_year  Hypertension.compositeyes  
               -232.26066                   -0.07525                    0.29943                    0.11576                   -0.12715  
        Med.Statin.LLDyes  
                 -0.21061  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-2.96576 -0.59822 -0.00485  0.58684  3.01447 

Coefficients:
                            Estimate Std. Error t value Pr(>|t|)    
(Intercept)               -2.349e+02  2.150e+01 -10.925  < 2e-16 ***
currentDF[, TRAIT]        -7.728e-02  3.096e-02  -2.496  0.01273 *  
Age                        1.892e-03  3.757e-03   0.504  0.61463    
Gendermale                 3.218e-01  6.710e-02   4.796 1.88e-06 ***
ORdate_year                1.171e-01  1.073e-02  10.912  < 2e-16 ***
Hypertension.compositeyes -1.342e-01  9.157e-02  -1.466  0.14306    
DiabetesStatusDiabetes    -5.770e-02  7.505e-02  -0.769  0.44220    
SmokerStatusEx-smoker     -4.766e-02  6.953e-02  -0.685  0.49321    
SmokerStatusNever smoked   7.042e-03  9.807e-02   0.072  0.94278    
Med.Statin.LLDyes         -2.113e-01  7.346e-02  -2.877  0.00411 ** 
Med.all.antiplateletyes    7.706e-02  1.049e-01   0.735  0.46265    
GFR_MDRD                  -6.724e-04  1.607e-03  -0.418  0.67581    
BMI                       -2.815e-04  8.387e-03  -0.034  0.97323    
MedHx_CVDyes               1.458e-02  6.296e-02   0.232  0.81686    
stenose50-70%             -2.957e-01  4.327e-01  -0.683  0.49451    
stenose70-90%             -5.852e-02  4.163e-01  -0.141  0.88824    
stenose90-99%             -1.188e-01  4.164e-01  -0.285  0.77550    
stenose100% (Occlusion)   -3.299e-01  5.170e-01  -0.638  0.52349    
stenose50-99%             -3.890e-01  6.203e-01  -0.627  0.53068    
stenose70-99%             -5.688e-01  6.212e-01  -0.916  0.36010    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9202 on 933 degrees of freedom
Multiple R-squared:   0.17, Adjusted R-squared:  0.1531 
F-statistic: 10.06 on 19 and 933 DF,  p-value: < 2.2e-16

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ml_2015_rank ' with ' VesselDensity_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ml_2015_rank 
Trait/outcome.............: VesselDensity_rank 
Effect size...............: -0.077283 
Standard error............: 0.030963 
Odds ratio (effect size)..: 0.926 
Lower 95% CI..............: 0.871 
Upper 95% CI..............: 0.984 
T-value...................: -2.496001 
P-value...................: 0.01273189 
R^2.......................: 0.169991 
Adjusted r^2..............: 0.153088 
Sample size of AE DB......: 2423 
Sample size of model......: 953 
Missing data %............: 60.66859 

Analysis of MCP1_rank.

- processing Macrophages_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year + Hypertension.composite, data = currentDF)

Coefficients:
              (Intercept)         currentDF[, TRAIT]                 Gendermale                ORdate_year  Hypertension.compositeyes  
                 441.5668                     0.1036                     0.2776                    -0.2203                    -0.2432  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.3192 -0.6253  0.0206  0.6596  2.6344 

Coefficients:
                            Estimate Std. Error t value Pr(>|t|)    
(Intercept)                4.154e+02  8.330e+01   4.987 8.60e-07 ***
currentDF[, TRAIT]         9.996e-02  4.118e-02   2.427  0.01558 *  
Age                       -9.280e-03  5.771e-03  -1.608  0.10849    
Gendermale                 3.003e-01  1.002e-01   2.997  0.00287 ** 
ORdate_year               -2.067e-01  4.157e-02  -4.972 9.23e-07 ***
Hypertension.compositeyes -2.382e-01  1.329e-01  -1.791  0.07385 .  
DiabetesStatusDiabetes    -6.961e-02  1.124e-01  -0.619  0.53601    
SmokerStatusEx-smoker      8.372e-02  9.983e-02   0.839  0.40209    
SmokerStatusNever smoked   2.684e-01  1.476e-01   1.819  0.06960 .  
Med.Statin.LLDyes         -1.509e-01  1.035e-01  -1.457  0.14568    
Med.all.antiplateletyes    1.368e-01  1.587e-01   0.862  0.38929    
GFR_MDRD                  -1.657e-04  2.489e-03  -0.067  0.94696    
BMI                       -1.297e-02  1.190e-02  -1.090  0.27621    
MedHx_CVDyes               2.265e-02  9.344e-02   0.242  0.80855    
stenose50-70%             -4.499e-01  6.185e-01  -0.727  0.46738    
stenose70-90%             -2.733e-01  5.744e-01  -0.476  0.63444    
stenose90-99%             -2.510e-01  5.728e-01  -0.438  0.66144    
stenose100% (Occlusion)   -9.705e-01  7.264e-01  -1.336  0.18217    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9725 on 479 degrees of freedom
Multiple R-squared:  0.1108,    Adjusted R-squared:  0.0792 
F-statistic:  3.51 on 17 and 479 DF,  p-value: 3.139e-06

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' Macrophages_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_rank 
Trait/outcome.............: Macrophages_rank 
Effect size...............: 0.099963 
Standard error............: 0.041184 
Odds ratio (effect size)..: 1.105 
Lower 95% CI..............: 1.019 
Upper 95% CI..............: 1.198 
T-value...................: 2.427249 
P-value...................: 0.01558152 
R^2.......................: 0.110762 
Adjusted r^2..............: 0.079203 
Sample size of AE DB......: 2423 
Sample size of model......: 497 
Missing data %............: 79.48824 

- processing SMC_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite, data = currentDF)

Coefficients:
              (Intercept)         currentDF[, TRAIT]                        Age                 Gendermale                ORdate_year  
                511.09348                   -0.22506                   -0.01132                    0.23728                   -0.25465  
Hypertension.compositeyes  
                 -0.19903  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.1076 -0.6197 -0.0034  0.6938  2.4632 

Coefficients:
                            Estimate Std. Error t value Pr(>|t|)    
(Intercept)                4.972e+02  8.244e+01   6.031 3.26e-09 ***
currentDF[, TRAIT]        -2.277e-01  4.248e-02  -5.361 1.29e-07 ***
Age                       -1.495e-02  5.694e-03  -2.626  0.00891 ** 
Gendermale                 2.430e-01  9.865e-02   2.463  0.01411 *  
ORdate_year               -2.474e-01  4.114e-02  -6.013 3.63e-09 ***
Hypertension.compositeyes -2.009e-01  1.285e-01  -1.563  0.11877    
DiabetesStatusDiabetes    -7.173e-02  1.095e-01  -0.655  0.51256    
SmokerStatusEx-smoker      1.214e-01  9.718e-02   1.249  0.21228    
SmokerStatusNever smoked   2.460e-01  1.435e-01   1.714  0.08712 .  
Med.Statin.LLDyes         -1.412e-01  1.011e-01  -1.397  0.16307    
Med.all.antiplateletyes    1.136e-01  1.545e-01   0.735  0.46259    
GFR_MDRD                   2.431e-05  2.423e-03   0.010  0.99200    
BMI                       -1.152e-02  1.157e-02  -0.996  0.31990    
MedHx_CVDyes               1.966e-02  9.120e-02   0.216  0.82941    
stenose50-70%             -3.893e-01  6.021e-01  -0.647  0.51816    
stenose70-90%             -2.757e-01  5.591e-01  -0.493  0.62215    
stenose90-99%             -2.863e-01  5.573e-01  -0.514  0.60768    
stenose100% (Occlusion)   -1.135e+00  7.069e-01  -1.605  0.10909    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9465 on 477 degrees of freedom
Multiple R-squared:  0.1508,    Adjusted R-squared:  0.1206 
F-statistic: 4.983 on 17 and 477 DF,  p-value: 5.352e-10

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' SMC_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_rank 
Trait/outcome.............: SMC_rank 
Effect size...............: -0.22772 
Standard error............: 0.042481 
Odds ratio (effect size)..: 0.796 
Lower 95% CI..............: 0.733 
Upper 95% CI..............: 0.865 
T-value...................: -5.360554 
P-value...................: 1.29467e-07 
R^2.......................: 0.150815 
Adjusted r^2..............: 0.12055 
Sample size of AE DB......: 2423 
Sample size of model......: 495 
Missing data %............: 79.57078 

- processing VesselDensity_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ Gender + ORdate_year, data = currentDF)

Coefficients:
(Intercept)   Gendermale  ORdate_year  
   463.7343       0.3103      -0.2315  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.3250 -0.6474  0.0106  0.6218  2.5297 

Coefficients:
                            Estimate Std. Error t value Pr(>|t|)    
(Intercept)                4.218e+02  8.620e+01   4.893 1.37e-06 ***
currentDF[, TRAIT]        -4.850e-02  5.471e-02  -0.887   0.3758    
Age                       -9.513e-03  5.860e-03  -1.623   0.1052    
Gendermale                 3.285e-01  1.016e-01   3.235   0.0013 ** 
ORdate_year               -2.100e-01  4.302e-02  -4.880 1.46e-06 ***
Hypertension.compositeyes -1.645e-01  1.355e-01  -1.214   0.2254    
DiabetesStatusDiabetes    -3.384e-02  1.148e-01  -0.295   0.7683    
SmokerStatusEx-smoker      9.358e-02  1.014e-01   0.923   0.3567    
SmokerStatusNever smoked   2.664e-01  1.497e-01   1.780   0.0758 .  
Med.Statin.LLDyes         -1.516e-01  1.052e-01  -1.442   0.1500    
Med.all.antiplateletyes    1.357e-01  1.616e-01   0.840   0.4015    
GFR_MDRD                   6.123e-04  2.560e-03   0.239   0.8111    
BMI                       -1.108e-02  1.208e-02  -0.917   0.3595    
MedHx_CVDyes               3.668e-02  9.504e-02   0.386   0.6997    
stenose50-70%             -5.382e-01  6.214e-01  -0.866   0.3869    
stenose70-90%             -2.824e-01  5.775e-01  -0.489   0.6251    
stenose90-99%             -2.830e-01  5.758e-01  -0.491   0.6233    
stenose100% (Occlusion)   -1.043e+00  7.302e-01  -1.429   0.1538    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9771 on 469 degrees of freedom
Multiple R-squared:  0.1035,    Adjusted R-squared:  0.07105 
F-statistic: 3.186 on 17 and 469 DF,  p-value: 2.002e-05

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' VesselDensity_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_rank 
Trait/outcome.............: VesselDensity_rank 
Effect size...............: -0.048502 
Standard error............: 0.054711 
Odds ratio (effect size)..: 0.953 
Lower 95% CI..............: 0.856 
Upper 95% CI..............: 1.06 
T-value...................: -0.886513 
P-value...................: 0.3757955 
R^2.......................: 0.103542 
Adjusted r^2..............: 0.071048 
Sample size of AE DB......: 2423 
Sample size of model......: 487 
Missing data %............: 79.90095 

Analysis of MCP1_plasma_olink_rank.

- processing Macrophages_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ Age + ORdate_year + Hypertension.composite + 
    GFR_MDRD, data = currentDF)

Coefficients:
              (Intercept)                        Age                ORdate_year  Hypertension.compositeyes                   GFR_MDRD  
                 60.23181                    0.01822                   -0.03014                   -0.17741                   -0.01199  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-2.7209 -0.6151  0.0356  0.5300  3.2322 

Coefficients:
                           Estimate Std. Error t value Pr(>|t|)    
(Intercept)               40.726209  34.838142   1.169  0.24306    
currentDF[, TRAIT]         0.006644   0.048108   0.138  0.89023    
Age                        0.017665   0.005835   3.027  0.00262 ** 
Gendermale                 0.046571   0.104265   0.447  0.65535    
ORdate_year               -0.019704   0.017358  -1.135  0.25695    
Hypertension.compositeyes -0.197858   0.125852  -1.572  0.11667    
DiabetesStatusDiabetes     0.118305   0.116607   1.015  0.31090    
SmokerStatusEx-smoker     -0.008238   0.106515  -0.077  0.93839    
SmokerStatusNever smoked  -0.183500   0.161154  -1.139  0.25549    
Med.Statin.LLDyes         -0.092734   0.114736  -0.808  0.41941    
Med.all.antiplateletyes    0.074854   0.152464   0.491  0.62371    
GFR_MDRD                  -0.012440   0.002580  -4.821    2e-06 ***
BMI                       -0.007916   0.012602  -0.628  0.53026    
MedHx_CVDyes               0.004123   0.098921   0.042  0.96677    
stenose50-70%             -1.402842   0.716674  -1.957  0.05096 .  
stenose70-90%             -1.233341   0.701613  -1.758  0.07950 .  
stenose90-99%             -1.090125   0.702139  -1.553  0.12128    
stenose100% (Occlusion)   -1.076516   1.205543  -0.893  0.37238    
stenose50-99%             -1.226178   0.908023  -1.350  0.17762    
stenose70-99%             -0.856478   0.860796  -0.995  0.32032    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9798 on 421 degrees of freedom
Multiple R-squared:  0.1334,    Adjusted R-squared:  0.09427 
F-statistic:  3.41 on 19 and 421 DF,  p-value: 2.266e-06

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_plasma_olink_rank ' with ' Macrophages_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_plasma_olink_rank 
Trait/outcome.............: Macrophages_rank 
Effect size...............: 0.006644 
Standard error............: 0.048108 
Odds ratio (effect size)..: 1.007 
Lower 95% CI..............: 0.916 
Upper 95% CI..............: 1.106 
T-value...................: 0.138097 
P-value...................: 0.8902299 
R^2.......................: 0.133376 
Adjusted r^2..............: 0.094265 
Sample size of AE DB......: 2423 
Sample size of model......: 441 
Missing data %............: 81.79942 

- processing SMC_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ Age + ORdate_year + Hypertension.composite + 
    GFR_MDRD, data = currentDF)

Coefficients:
              (Intercept)                        Age                ORdate_year  Hypertension.compositeyes                   GFR_MDRD  
                 63.88987                    0.01814                   -0.03195                   -0.17375                   -0.01218  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-2.7295 -0.6076  0.0207  0.5262  3.2489 

Coefficients:
                            Estimate Std. Error t value Pr(>|t|)    
(Intercept)               46.0163794 34.6165898   1.329  0.18447    
currentDF[, TRAIT]         0.0006933  0.0536814   0.013  0.98970    
Age                        0.0173228  0.0058291   2.972  0.00313 ** 
Gendermale                 0.0523617  0.1050134   0.499  0.61831    
ORdate_year               -0.0223218  0.0172461  -1.294  0.19627    
Hypertension.compositeyes -0.1919688  0.1255314  -1.529  0.12696    
DiabetesStatusDiabetes     0.1122621  0.1164524   0.964  0.33559    
SmokerStatusEx-smoker      0.0007155  0.1058321   0.007  0.99461    
SmokerStatusNever smoked  -0.1796990  0.1610429  -1.116  0.26513    
Med.Statin.LLDyes         -0.1108490  0.1149391  -0.964  0.33539    
Med.all.antiplateletyes    0.0822025  0.1521643   0.540  0.58933    
GFR_MDRD                  -0.0126687  0.0025881  -4.895  1.4e-06 ***
BMI                       -0.0080347  0.0125716  -0.639  0.52309    
MedHx_CVDyes               0.0114339  0.0987105   0.116  0.90784    
stenose50-70%             -1.3985133  0.7157309  -1.954  0.05137 .  
stenose70-90%             -1.2256052  0.7005735  -1.749  0.08095 .  
stenose90-99%             -1.0951519  0.7012203  -1.562  0.11909    
stenose100% (Occlusion)   -1.0897256  1.2029658  -0.906  0.36553    
stenose50-99%             -1.2017055  0.9062328  -1.326  0.18555    
stenose70-99%             -0.8568752  0.8599295  -0.996  0.31961    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9775 on 420 degrees of freedom
Multiple R-squared:  0.136, Adjusted R-squared:  0.09694 
F-statistic:  3.48 on 19 and 420 DF,  p-value: 1.475e-06

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_plasma_olink_rank ' with ' SMC_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_plasma_olink_rank 
Trait/outcome.............: SMC_rank 
Effect size...............: 0.000693 
Standard error............: 0.053681 
Odds ratio (effect size)..: 1.001 
Lower 95% CI..............: 0.901 
Upper 95% CI..............: 1.112 
T-value...................: 0.012915 
P-value...................: 0.9897017 
R^2.......................: 0.136021 
Adjusted r^2..............: 0.096936 
Sample size of AE DB......: 2423 
Sample size of model......: 440 
Missing data %............: 81.84069 

- processing VesselDensity_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ Age + ORdate_year + GFR_MDRD, 
    data = currentDF)

Coefficients:
(Intercept)          Age  ORdate_year     GFR_MDRD  
   59.41440      0.01692     -0.02977     -0.01155  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-2.7073 -0.6006  0.0184  0.5322  3.2760 

Coefficients:
                            Estimate Std. Error t value Pr(>|t|)    
(Intercept)               58.0765945 36.4545769   1.593   0.1120    
currentDF[, TRAIT]        -0.0485472  0.0548620  -0.885   0.3768    
Age                        0.0161780  0.0063644   2.542   0.0114 *  
Gendermale                 0.0798771  0.1125868   0.709   0.4785    
ORdate_year               -0.0283604  0.0181657  -1.561   0.1193    
Hypertension.compositeyes -0.1352392  0.1368671  -0.988   0.3237    
DiabetesStatusDiabetes     0.1056803  0.1249207   0.846   0.3981    
SmokerStatusEx-smoker     -0.0349977  0.1143264  -0.306   0.7597    
SmokerStatusNever smoked   0.0001821  0.1794264   0.001   0.9992    
Med.Statin.LLDyes         -0.0211208  0.1229850  -0.172   0.8637    
Med.all.antiplateletyes    0.0386715  0.1676845   0.231   0.8177    
GFR_MDRD                  -0.0119960  0.0027784  -4.318 2.02e-05 ***
BMI                       -0.0099595  0.0133094  -0.748   0.4547    
MedHx_CVDyes               0.0436251  0.1075102   0.406   0.6851    
stenose50-70%             -1.2869830  0.7337236  -1.754   0.0802 .  
stenose70-90%             -1.1978619  0.7172468  -1.670   0.0957 .  
stenose90-99%             -1.0947221  0.7167510  -1.527   0.1275    
stenose100% (Occlusion)   -1.0801810  1.2250041  -0.882   0.3785    
stenose50-99%             -0.8072660  1.0070687  -0.802   0.4233    
stenose70-99%             -1.0889482  1.0034878  -1.085   0.2785    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9916 on 379 degrees of freedom
Multiple R-squared:  0.1175,    Adjusted R-squared:  0.07327 
F-statistic: 2.656 on 19 and 379 DF,  p-value: 0.0002225

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_plasma_olink_rank ' with ' VesselDensity_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_plasma_olink_rank 
Trait/outcome.............: VesselDensity_rank 
Effect size...............: -0.048547 
Standard error............: 0.054862 
Odds ratio (effect size)..: 0.953 
Lower 95% CI..............: 0.855 
Upper 95% CI..............: 1.061 
T-value...................: -0.884897 
P-value...................: 0.3767735 
R^2.......................: 0.117514 
Adjusted r^2..............: 0.073274 
Sample size of AE DB......: 2423 
Sample size of model......: 399 
Missing data %............: 83.53281 
cat("Edit the column names...\n")
Edit the column names...
colnames(GLM.results) = c("Dataset", "Predictor", "Trait",
                          "Beta", "s.e.m.",
                          "OR", "low95CI", "up95CI",
                          "T-value", "P-value", "r^2", "r^2_adj", "AE_N", "Model_N", "Perc_Miss")

cat("Correct the variable types...\n")
Correct the variable types...
GLM.results$Beta <- as.numeric(GLM.results$Beta)
GLM.results$s.e.m. <- as.numeric(GLM.results$s.e.m.)
GLM.results$OR <- as.numeric(GLM.results$OR)
GLM.results$low95CI <- as.numeric(GLM.results$low95CI)
GLM.results$up95CI <- as.numeric(GLM.results$up95CI)
GLM.results$`T-value` <- as.numeric(GLM.results$`T-value`)
GLM.results$`P-value` <- as.numeric(GLM.results$`P-value`)
GLM.results$`r^2` <- as.numeric(GLM.results$`r^2`)
GLM.results$`r^2_adj` <- as.numeric(GLM.results$`r^2_adj`)
GLM.results$`AE_N` <- as.numeric(GLM.results$`AE_N`)
GLM.results$`Model_N` <- as.numeric(GLM.results$`Model_N`)
GLM.results$`Perc_Miss` <- as.numeric(GLM.results$`Perc_Miss`)

# Save the data
cat("Writing results to Excel-file...\n")
Writing results to Excel-file...
### Univariate
library(openxlsx)
write.xlsx(GLM.results,
           file = paste0(OUT_loc, "/",Today,".AEDB.CEA.Con.Multi.Protein.PlaquePhenotypes.RANK.MODEL2.xlsx"),
           row.names = FALSE, col.names = TRUE, sheetName = "Con.Multi.PlaquePheno")
# Removing intermediates
cat("Removing intermediate files...\n")
Removing intermediate files...
rm(TRAIT, trait, currentDF, GLM.results, GLM.results.TEMP, fit, model_step)

Binary plaque traits

Analysis of binary plaque traits as a function of plasma/plaque MCP1 levels.


GLM.results <- data.frame(matrix(NA, ncol = 16, nrow = 0))
for (protein in 1:length(TRAITS.PROTEIN.RANK)) {
  PROTEIN = TRAITS.PROTEIN.RANK[protein]
  cat(paste0("\nAnalysis of ",PROTEIN,".\n"))
  for (trait in 1:length(TRAITS.BIN)) {
    TRAIT = TRAITS.BIN[trait]
    cat(paste0("\n- processing ",TRAIT,"\n\n"))
    currentDF <- as.data.frame(AEDB.CEA %>%
      dplyr::select(., PROTEIN, TRAIT, COVARIATES_M2) %>%
      filter(complete.cases(.))) %>%
      filter_if(~is.numeric(.), all_vars(!is.infinite(.)))
    # for debug
    # print(DT::datatable(currentDF))
    # print(nrow(currentDF))
    # print(str(currentDF))
    # print(class(currentDF[,TRAIT]))
    ### univariate
    fit <- glm(as.factor(currentDF[,TRAIT]) ~ currentDF[,PROTEIN] + Age + Gender + ORdate_year + 
                Hypertension.composite + DiabetesStatus + SmokerStatus + 
                Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + BMI + 
                MedHx_CVD + stenose, 
              data  =  currentDF, family = binomial(link = "logit"))
    model_step <- stepAIC(fit, direction = "both", trace = FALSE)
    print(model_step)
    print(summary(fit))
    
    GLM.results.TEMP <- data.frame(matrix(NA, ncol = 16, nrow = 0))
    GLM.results.TEMP[1,] = GLM.BIN(fit, "AEDB.CEA", PROTEIN, TRAIT, verbose = TRUE)
    GLM.results = rbind(GLM.results, GLM.results.TEMP)
  }
}

Analysis of MCP1_pg_ug_2015_rank.

- processing CalcificationPlaque


Call:  glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    Age + ORdate_year + SmokerStatus, family = binomial(link = "logit"), 
    data = currentDF)

Coefficients:
             (Intercept)      currentDF[, PROTEIN]                       Age               ORdate_year     SmokerStatusEx-smoker  
               306.74558                  -0.37332                   0.02625                  -0.15365                  -0.42519  
SmokerStatusNever smoked  
                -0.43321  

Degrees of Freedom: 1025 Total (i.e. Null);  1020 Residual
Null Deviance:      1420 
Residual Deviance: 1308     AIC: 1320

Call:
glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    Age + Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, family = binomial(link = "logit"), 
    data = currentDF)

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-1.8410  -1.0292  -0.6369   1.0688   2.0188  

Coefficients:
                            Estimate Std. Error z value Pr(>|z|)    
(Intercept)               285.761462  48.999774   5.832 5.48e-09 ***
currentDF[, PROTEIN]       -0.370483   0.070384  -5.264 1.41e-07 ***
Age                         0.026493   0.008511   3.113  0.00185 ** 
Gendermale                 -0.098003   0.149705  -0.655  0.51270    
ORdate_year                -0.143421   0.024458  -5.864 4.52e-09 ***
Hypertension.compositeyes   0.257870   0.206176   1.251  0.21103    
DiabetesStatusDiabetes     -0.222991   0.164504  -1.356  0.17525    
SmokerStatusEx-smoker      -0.420947   0.155665  -2.704  0.00685 ** 
SmokerStatusNever smoked   -0.480079   0.218238  -2.200  0.02782 *  
Med.Statin.LLDyes          -0.031126   0.165294  -0.188  0.85064    
Med.all.antiplateletyes    -0.065900   0.228570  -0.288  0.77311    
GFR_MDRD                    0.001002   0.003595   0.279  0.78053    
BMI                         0.021137   0.018738   1.128  0.25930    
MedHx_CVDyes               -0.036016   0.140041  -0.257  0.79704    
stenose50-70%              -0.626125   0.911908  -0.687  0.49233    
stenose70-90%              -0.196244   0.870308  -0.225  0.82160    
stenose90-99%              -0.146762   0.871650  -0.168  0.86629    
stenose100% (Occlusion)     0.884665   1.202481   0.736  0.46191    
stenose50-99%             -13.973796 424.816726  -0.033  0.97376    
stenose70-99%              -0.254047   1.226249  -0.207  0.83587    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 1420.3  on 1025  degrees of freedom
Residual deviance: 1295.2  on 1006  degrees of freedom
AIC: 1335.2

Number of Fisher Scoring iterations: 13

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' CalcificationPlaque ' ...
Collecting data...
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank 
Trait/outcome.............: CalcificationPlaque 
Effect size...............: -0.370483 
Standard error............: 0.070384 
Odds ratio (effect size)..: 0.69 
Lower 95% CI..............: 0.601 
Upper 95% CI..............: 0.793 
Z-value...................: -5.263714 
P-value...................: 1.411744e-07 
Hosmer and Lemeshow r^2...: 0.088088 
Cox and Snell r^2.........: 0.114798 
Nagelkerke's pseudo r^2...: 0.153167 
Sample size of AE DB......: 2423 
Sample size of model......: 1026 
Missing data %............: 57.6558 

- processing CollagenPlaque


Call:  glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    SmokerStatus + BMI + MedHx_CVD, family = binomial(link = "logit"), 
    data = currentDF)

Coefficients:
             (Intercept)      currentDF[, PROTEIN]     SmokerStatusEx-smoker  SmokerStatusNever smoked                       BMI  
                 0.48298                  -0.23967                  -0.39031                  -0.63976                   0.03909  
            MedHx_CVDyes  
                 0.24930  

Degrees of Freedom: 1026 Total (i.e. Null);  1021 Residual
Null Deviance:      1049 
Residual Deviance: 1025     AIC: 1037

Call:
glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    Age + Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, family = binomial(link = "logit"), 
    data = currentDF)

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-2.2829   0.4536   0.6203   0.7202   1.1667  

Coefficients:
                            Estimate Std. Error z value Pr(>|z|)   
(Intercept)               -3.269e+00  9.654e+02  -0.003  0.99730   
currentDF[, PROTEIN]      -2.377e-01  8.148e-02  -2.917  0.00353 **
Age                        1.331e-02  9.841e-03   1.352  0.17633   
Gendermale                -4.496e-02  1.763e-01  -0.255  0.79868   
ORdate_year                8.537e-03  2.809e-02   0.304  0.76115   
Hypertension.compositeyes  2.417e-01  2.285e-01   1.058  0.29009   
DiabetesStatusDiabetes     7.633e-02  1.972e-01   0.387  0.69877   
SmokerStatusEx-smoker     -4.476e-01  1.892e-01  -2.365  0.01802 * 
SmokerStatusNever smoked  -7.654e-01  2.485e-01  -3.080  0.00207 **
Med.Statin.LLDyes         -3.292e-05  1.934e-01   0.000  0.99986   
Med.all.antiplateletyes    2.545e-01  2.597e-01   0.980  0.32706   
GFR_MDRD                   4.841e-03  4.242e-03   1.141  0.25380   
BMI                        4.198e-02  2.317e-02   1.812  0.06999 . 
MedHx_CVDyes               2.202e-01  1.634e-01   1.348  0.17781   
stenose50-70%             -1.477e+01  9.638e+02  -0.015  0.98777   
stenose70-90%             -1.507e+01  9.638e+02  -0.016  0.98752   
stenose90-99%             -1.516e+01  9.638e+02  -0.016  0.98745   
stenose100% (Occlusion)    1.433e-01  1.243e+03   0.000  0.99991   
stenose50-99%             -5.794e-02  1.515e+03   0.000  0.99997   
stenose70-99%             -1.467e+01  9.638e+02  -0.015  0.98786   
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 1048.5  on 1026  degrees of freedom
Residual deviance: 1010.9  on 1007  degrees of freedom
AIC: 1050.9

Number of Fisher Scoring iterations: 15

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' CollagenPlaque ' ...
Collecting data...
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank 
Trait/outcome.............: CollagenPlaque 
Effect size...............: -0.237708 
Standard error............: 0.081478 
Odds ratio (effect size)..: 0.788 
Lower 95% CI..............: 0.672 
Upper 95% CI..............: 0.925 
Z-value...................: -2.917451 
P-value...................: 0.00352905 
Hosmer and Lemeshow r^2...: 0.035933 
Cox and Snell r^2.........: 0.036022 
Nagelkerke's pseudo r^2...: 0.056306 
Sample size of AE DB......: 2423 
Sample size of model......: 1027 
Missing data %............: 57.61453 

- processing Fat10Perc


Call:  glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    Age + Gender + ORdate_year + SmokerStatus, family = binomial(link = "logit"), 
    data = currentDF)

Coefficients:
             (Intercept)      currentDF[, PROTEIN]                       Age                Gendermale               ORdate_year  
               431.02422                   0.37489                   0.01595                   0.98189                  -0.21506  
   SmokerStatusEx-smoker  SmokerStatusNever smoked  
                -0.29989                   0.28776  

Degrees of Freedom: 1026 Total (i.e. Null);  1020 Residual
Null Deviance:      1209 
Residual Deviance: 1100     AIC: 1114

Call:
glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    Age + Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, family = binomial(link = "logit"), 
    data = currentDF)

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-2.6507  -0.9890   0.6020   0.8043   1.5467  

Coefficients:
                            Estimate Std. Error z value Pr(>|z|)    
(Intercept)               447.833664 352.704584   1.270   0.2042    
currentDF[, PROTEIN]        0.372607   0.083882   4.442 8.91e-06 ***
Age                         0.018765   0.009275   2.023   0.0431 *  
Gendermale                  0.986859   0.162361   6.078 1.22e-09 ***
ORdate_year                -0.216877   0.029241  -7.417 1.20e-13 ***
Hypertension.compositeyes  -0.033938   0.229104  -0.148   0.8822    
DiabetesStatusDiabetes     -0.179848   0.180820  -0.995   0.3199    
SmokerStatusEx-smoker      -0.315938   0.174024  -1.815   0.0694 .  
SmokerStatusNever smoked    0.273963   0.254420   1.077   0.2816    
Med.Statin.LLDyes          -0.051203   0.190672  -0.269   0.7883    
Med.all.antiplateletyes     0.131593   0.256322   0.513   0.6077    
GFR_MDRD                    0.002480   0.003970   0.625   0.5321    
BMI                         0.004139   0.020330   0.204   0.8387    
MedHx_CVDyes                0.089346   0.156373   0.571   0.5678    
stenose50-70%             -13.581609 347.797383  -0.039   0.9689    
stenose70-90%             -13.662819 347.797274  -0.039   0.9687    
stenose90-99%             -13.742492 347.797282  -0.040   0.9685    
stenose100% (Occlusion)   -14.314953 347.798015  -0.041   0.9672    
stenose50-99%             -15.225799 347.799293  -0.044   0.9651    
stenose70-99%             -14.062234 347.798217  -0.040   0.9677    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 1209.2  on 1026  degrees of freedom
Residual deviance: 1090.5  on 1007  degrees of freedom
AIC: 1130.5

Number of Fisher Scoring iterations: 13

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' Fat10Perc ' ...
Collecting data...
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank 
Trait/outcome.............: Fat10Perc 
Effect size...............: 0.372607 
Standard error............: 0.083882 
Odds ratio (effect size)..: 1.452 
Lower 95% CI..............: 1.231 
Upper 95% CI..............: 1.711 
Z-value...................: 4.442016 
P-value...................: 8.912011e-06 
Hosmer and Lemeshow r^2...: 0.09818 
Cox and Snell r^2.........: 0.109168 
Nagelkerke's pseudo r^2...: 0.157774 
Sample size of AE DB......: 2423 
Sample size of model......: 1027 
Missing data %............: 57.61453 

- processing IPH


Call:  glm(formula = as.factor(currentDF[, TRAIT]) ~ Gender + ORdate_year + 
    BMI + MedHx_CVD, family = binomial(link = "logit"), data = currentDF)

Coefficients:
 (Intercept)    Gendermale   ORdate_year           BMI  MedHx_CVDyes  
   343.14552       0.55327      -0.17143       0.02864       0.38242  

Degrees of Freedom: 1024 Total (i.e. Null);  1020 Residual
Null Deviance:      1371 
Residual Deviance: 1287     AIC: 1297

Call:
glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    Age + Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, family = binomial(link = "logit"), 
    data = currentDF)

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-2.0000  -1.1648   0.7031   0.9550   1.7486  

Coefficients:
                            Estimate Std. Error z value Pr(>|z|)    
(Intercept)               363.770975  50.776676   7.164 7.83e-13 ***
currentDF[, PROTEIN]        0.003007   0.071599   0.042   0.9665    
Age                         0.010212   0.008480   1.204   0.2285    
Gendermale                  0.600478   0.150064   4.001 6.29e-05 ***
ORdate_year                -0.181776   0.025342  -7.173 7.34e-13 ***
Hypertension.compositeyes  -0.132367   0.206940  -0.640   0.5224    
DiabetesStatusDiabetes     -0.118790   0.165012  -0.720   0.4716    
SmokerStatusEx-smoker      -0.102583   0.158189  -0.648   0.5167    
SmokerStatusNever smoked   -0.132896   0.217207  -0.612   0.5406    
Med.Statin.LLDyes          -0.116263   0.169843  -0.685   0.4936    
Med.all.antiplateletyes     0.113072   0.231759   0.488   0.6256    
GFR_MDRD                   -0.002828   0.003606  -0.784   0.4329    
BMI                         0.035890   0.019037   1.885   0.0594 .  
MedHx_CVDyes                0.361928   0.140771   2.571   0.0101 *  
stenose50-70%              -0.445950   0.949101  -0.470   0.6385    
stenose70-90%              -0.406046   0.915562  -0.443   0.6574    
stenose90-99%              -0.340968   0.917561  -0.372   0.7102    
stenose100% (Occlusion)    -0.799853   1.142076  -0.700   0.4837    
stenose50-99%               0.021625   1.361902   0.016   0.9873    
stenose70-99%               1.876503   1.426514   1.315   0.1884    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 1371.2  on 1024  degrees of freedom
Residual deviance: 1274.3  on 1005  degrees of freedom
AIC: 1314.3

Number of Fisher Scoring iterations: 4

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' IPH ' ...
Collecting data...
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank 
Trait/outcome.............: IPH 
Effect size...............: 0.003007 
Standard error............: 0.071599 
Odds ratio (effect size)..: 1.003 
Lower 95% CI..............: 0.872 
Upper 95% CI..............: 1.154 
Z-value...................: 0.041998 
P-value...................: 0.9665005 
Hosmer and Lemeshow r^2...: 0.070627 
Cox and Snell r^2.........: 0.090153 
Nagelkerke's pseudo r^2...: 0.122232 
Sample size of AE DB......: 2423 
Sample size of model......: 1025 
Missing data %............: 57.69707 

- processing MAC_binned


Call:  glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    Gender + ORdate_year + SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet, 
    family = binomial(link = "logit"), data = currentDF)

Coefficients:
             (Intercept)      currentDF[, PROTEIN]                Gendermale               ORdate_year     SmokerStatusEx-smoker  
               239.70786                   0.12206                   0.56160                  -0.11966                   0.05632  
SmokerStatusNever smoked         Med.Statin.LLDyes   Med.all.antiplateletyes  
                 0.42368                   0.37978                  -0.32745  

Degrees of Freedom: 1022 Total (i.e. Null);  1015 Residual
Null Deviance:      1417 
Residual Deviance: 1366     AIC: 1382

Call:
glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    Age + Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, family = binomial(link = "logit"), 
    data = currentDF)

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-1.7922  -1.1428   0.7807   1.1043   1.6808  

Coefficients:
                            Estimate Std. Error z value Pr(>|z|)    
(Intercept)               258.902238  48.251735   5.366 8.07e-08 ***
currentDF[, PROTEIN]        0.117462   0.067996   1.727   0.0841 .  
Age                        -0.008074   0.008145  -0.991   0.3216    
Gendermale                  0.567843   0.145711   3.897 9.74e-05 ***
ORdate_year                -0.128380   0.024068  -5.334 9.60e-08 ***
Hypertension.compositeyes  -0.027769   0.198030  -0.140   0.8885    
DiabetesStatusDiabetes     -0.032774   0.158818  -0.206   0.8365    
SmokerStatusEx-smoker       0.105992   0.150098   0.706   0.4801    
SmokerStatusNever smoked    0.504479   0.213313   2.365   0.0180 *  
Med.Statin.LLDyes           0.359217   0.160808   2.234   0.0255 *  
Med.all.antiplateletyes    -0.402587   0.226662  -1.776   0.0757 .  
GFR_MDRD                    0.001202   0.003453   0.348   0.7277    
BMI                        -0.016533   0.018172  -0.910   0.3629    
MedHx_CVDyes                0.145249   0.136130   1.067   0.2860    
stenose50-70%              -0.757805   0.925418  -0.819   0.4129    
stenose70-90%              -0.763753   0.891861  -0.856   0.3918    
stenose90-99%              -0.855585   0.893276  -0.958   0.3382    
stenose100% (Occlusion)    -1.804679   1.152101  -1.566   0.1172    
stenose50-99%              -0.255318   1.356697  -0.188   0.8507    
stenose70-99%               0.242196   1.186145   0.204   0.8382    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 1417.5  on 1022  degrees of freedom
Residual deviance: 1357.5  on 1003  degrees of freedom
AIC: 1397.5

Number of Fisher Scoring iterations: 4

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' MAC_binned ' ...
Collecting data...
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank 
Trait/outcome.............: MAC_binned 
Effect size...............: 0.117462 
Standard error............: 0.067996 
Odds ratio (effect size)..: 1.125 
Lower 95% CI..............: 0.984 
Upper 95% CI..............: 1.285 
Z-value...................: 1.727479 
P-value...................: 0.08408169 
Hosmer and Lemeshow r^2...: 0.042305 
Cox and Snell r^2.........: 0.056932 
Nagelkerke's pseudo r^2...: 0.075927 
Sample size of AE DB......: 2423 
Sample size of model......: 1023 
Missing data %............: 57.77961 

- processing SMC_binned


Call:  glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    Age + Gender + SmokerStatus, family = binomial(link = "logit"), 
    data = currentDF)

Coefficients:
             (Intercept)      currentDF[, PROTEIN]                       Age                Gendermale     SmokerStatusEx-smoker  
                 3.02431                  -0.17162                  -0.02586                  -0.44826                  -0.05776  
SmokerStatusNever smoked  
                -0.42741  

Degrees of Freedom: 1022 Total (i.e. Null);  1017 Residual
Null Deviance:      1260 
Residual Deviance: 1227     AIC: 1239

Call:
glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    Age + Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, family = binomial(link = "logit"), 
    data = currentDF)

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-2.0356  -1.3237   0.7327   0.8862   1.3272  

Coefficients:
                            Estimate Std. Error z value Pr(>|z|)   
(Intercept)                20.199690  50.633230   0.399  0.68994   
currentDF[, PROTEIN]       -0.154953   0.073035  -2.122  0.03387 * 
Age                        -0.022639   0.008956  -2.528  0.01147 * 
Gendermale                 -0.477402   0.162885  -2.931  0.00338 **
ORdate_year                -0.009191   0.025271  -0.364  0.71610   
Hypertension.compositeyes   0.176298   0.211843   0.832  0.40529   
DiabetesStatusDiabetes      0.013553   0.170661   0.079  0.93670   
SmokerStatusEx-smoker      -0.022550   0.164211  -0.137  0.89078   
SmokerStatusNever smoked   -0.413387   0.220990  -1.871  0.06140 . 
Med.Statin.LLDyes           0.038173   0.171270   0.223  0.82363   
Med.all.antiplateletyes    -0.133109   0.237139  -0.561  0.57458   
GFR_MDRD                    0.005010   0.003739   1.340  0.18021   
BMI                        -0.001614   0.019939  -0.081  0.93550   
MedHx_CVDyes               -0.051661   0.147390  -0.351  0.72596   
stenose50-70%               0.367072   0.878777   0.418  0.67616   
stenose70-90%               0.584415   0.841956   0.694  0.48761   
stenose90-99%               0.895610   0.844117   1.061  0.28869   
stenose100% (Occlusion)     0.522236   1.104289   0.473  0.63627   
stenose50-99%              14.483400 427.080741   0.034  0.97295   
stenose70-99%               0.443068   1.155843   0.383  0.70148   
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 1260.0  on 1022  degrees of freedom
Residual deviance: 1213.9  on 1003  degrees of freedom
AIC: 1253.9

Number of Fisher Scoring iterations: 13

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' SMC_binned ' ...
Collecting data...
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank 
Trait/outcome.............: SMC_binned 
Effect size...............: -0.154953 
Standard error............: 0.073035 
Odds ratio (effect size)..: 0.856 
Lower 95% CI..............: 0.742 
Upper 95% CI..............: 0.988 
Z-value...................: -2.121631 
P-value...................: 0.03386871 
Hosmer and Lemeshow r^2...: 0.036611 
Cox and Snell r^2.........: 0.044091 
Nagelkerke's pseudo r^2...: 0.062259 
Sample size of AE DB......: 2423 
Sample size of model......: 1023 
Missing data %............: 57.77961 

Analysis of MCP1_pg_ml_2015_rank.

- processing CalcificationPlaque


Call:  glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    Age + ORdate_year + SmokerStatus, family = binomial(link = "logit"), 
    data = currentDF)

Coefficients:
             (Intercept)      currentDF[, PROTEIN]                       Age               ORdate_year     SmokerStatusEx-smoker  
               279.63668                  -0.39476                   0.02869                  -0.14023                  -0.41699  
SmokerStatusNever smoked  
                -0.46274  

Degrees of Freedom: 1025 Total (i.e. Null);  1020 Residual
Null Deviance:      1420 
Residual Deviance: 1308     AIC: 1320

Call:
glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    Age + Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, family = binomial(link = "logit"), 
    data = currentDF)

Deviance Residuals: 
   Min      1Q  Median      3Q     Max  
-1.863  -1.045  -0.608   1.074   2.130  

Coefficients:
                            Estimate Std. Error z value Pr(>|z|)    
(Intercept)               257.844061  50.214433   5.135 2.82e-07 ***
currentDF[, PROTEIN]       -0.402700   0.075598  -5.327 9.99e-08 ***
Age                         0.029437   0.008526   3.453 0.000555 ***
Gendermale                 -0.003628   0.150954  -0.024 0.980824    
ORdate_year                -0.129597   0.025058  -5.172 2.32e-07 ***
Hypertension.compositeyes   0.283761   0.205758   1.379 0.167863    
DiabetesStatusDiabetes     -0.231758   0.164388  -1.410 0.158591    
SmokerStatusEx-smoker      -0.428649   0.155564  -2.755 0.005861 ** 
SmokerStatusNever smoked   -0.502689   0.218425  -2.301 0.021368 *  
Med.Statin.LLDyes          -0.024746   0.165034  -0.150 0.880809    
Med.all.antiplateletyes    -0.052996   0.228424  -0.232 0.816534    
GFR_MDRD                    0.001570   0.003596   0.437 0.662445    
BMI                         0.021001   0.018720   1.122 0.261931    
MedHx_CVDyes               -0.040669   0.140089  -0.290 0.771581    
stenose50-70%              -0.823178   0.929921  -0.885 0.376042    
stenose70-90%              -0.353208   0.888418  -0.398 0.690948    
stenose90-99%              -0.317638   0.889813  -0.357 0.721113    
stenose100% (Occlusion)     0.802490   1.222297   0.657 0.511475    
stenose50-99%             -14.187677 432.155336  -0.033 0.973810    
stenose70-99%              -0.451708   1.232581  -0.366 0.714012    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 1420.3  on 1025  degrees of freedom
Residual deviance: 1294.3  on 1006  degrees of freedom
AIC: 1334.3

Number of Fisher Scoring iterations: 13

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ml_2015_rank ' with ' CalcificationPlaque ' ...
Collecting data...
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ml_2015_rank 
Trait/outcome.............: CalcificationPlaque 
Effect size...............: -0.4027 
Standard error............: 0.075598 
Odds ratio (effect size)..: 0.669 
Lower 95% CI..............: 0.576 
Upper 95% CI..............: 0.775 
Z-value...................: -5.32687 
P-value...................: 9.991985e-08 
Hosmer and Lemeshow r^2...: 0.088671 
Cox and Snell r^2.........: 0.115512 
Nagelkerke's pseudo r^2...: 0.154119 
Sample size of AE DB......: 2423 
Sample size of model......: 1026 
Missing data %............: 57.6558 

- processing CollagenPlaque


Call:  glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    ORdate_year + SmokerStatus + BMI + MedHx_CVD, family = binomial(link = "logit"), 
    data = currentDF)

Coefficients:
             (Intercept)      currentDF[, PROTEIN]               ORdate_year     SmokerStatusEx-smoker  SmokerStatusNever smoked  
               -82.29156                  -0.31120                   0.04123                  -0.38704                  -0.66237  
                     BMI              MedHx_CVDyes  
                 0.04011                   0.24788  

Degrees of Freedom: 1026 Total (i.e. Null);  1020 Residual
Null Deviance:      1049 
Residual Deviance: 1021     AIC: 1035

Call:
glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    Age + Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, family = binomial(link = "logit"), 
    data = currentDF)

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-2.3321   0.4334   0.6127   0.7234   1.1601  

Coefficients:
                            Estimate Std. Error z value Pr(>|z|)    
(Intercept)               -3.689e+01  9.545e+02  -0.039 0.969169    
currentDF[, PROTEIN]      -3.104e-01  8.728e-02  -3.556 0.000377 ***
Age                        1.523e-02  9.880e-03   1.541 0.123267    
Gendermale                 3.495e-02  1.787e-01   0.196 0.844926    
ORdate_year                2.524e-02  2.928e-02   0.862 0.388654    
Hypertension.compositeyes  2.493e-01  2.289e-01   1.089 0.276119    
DiabetesStatusDiabetes     7.073e-02  1.979e-01   0.358 0.720716    
SmokerStatusEx-smoker     -4.601e-01  1.902e-01  -2.419 0.015552 *  
SmokerStatusNever smoked  -7.831e-01  2.492e-01  -3.142 0.001676 ** 
Med.Statin.LLDyes         -8.771e-04  1.935e-01  -0.005 0.996383    
Med.all.antiplateletyes    2.678e-01  2.604e-01   1.029 0.303619    
GFR_MDRD                   5.127e-03  4.253e-03   1.206 0.227994    
BMI                        4.255e-02  2.333e-02   1.824 0.068186 .  
MedHx_CVDyes               2.191e-01  1.637e-01   1.339 0.180703    
stenose50-70%             -1.490e+01  9.527e+02  -0.016 0.987519    
stenose70-90%             -1.519e+01  9.527e+02  -0.016 0.987282    
stenose90-99%             -1.529e+01  9.527e+02  -0.016 0.987198    
stenose100% (Occlusion)    3.121e-02  1.235e+03   0.000 0.999980    
stenose50-99%             -2.727e-01  1.512e+03   0.000 0.999856    
stenose70-99%             -1.484e+01  9.527e+02  -0.016 0.987573    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 1048.5  on 1026  degrees of freedom
Residual deviance: 1006.6  on 1007  degrees of freedom
AIC: 1046.6

Number of Fisher Scoring iterations: 15

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ml_2015_rank ' with ' CollagenPlaque ' ...
Collecting data...
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ml_2015_rank 
Trait/outcome.............: CollagenPlaque 
Effect size...............: -0.310382 
Standard error............: 0.087283 
Odds ratio (effect size)..: 0.733 
Lower 95% CI..............: 0.618 
Upper 95% CI..............: 0.87 
Z-value...................: -3.55603 
P-value...................: 0.0003765011 
Hosmer and Lemeshow r^2...: 0.040027 
Cox and Snell r^2.........: 0.040043 
Nagelkerke's pseudo r^2...: 0.06259 
Sample size of AE DB......: 2423 
Sample size of model......: 1027 
Missing data %............: 57.61453 

- processing Fat10Perc


Call:  glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    Age + Gender + ORdate_year + SmokerStatus, family = binomial(link = "logit"), 
    data = currentDF)

Coefficients:
             (Intercept)      currentDF[, PROTEIN]                       Age                Gendermale               ORdate_year  
               469.37418                   0.45540                   0.01347                   0.86049                  -0.23404  
   SmokerStatusEx-smoker  SmokerStatusNever smoked  
                -0.29641                   0.29609  

Degrees of Freedom: 1026 Total (i.e. Null);  1020 Residual
Null Deviance:      1209 
Residual Deviance: 1092     AIC: 1106

Call:
glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    Age + Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, family = binomial(link = "logit"), 
    data = currentDF)

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-2.6326  -0.9680   0.5857   0.7829   1.6994  

Coefficients:
                            Estimate Std. Error z value Pr(>|z|)    
(Intercept)               484.672877 355.498772   1.363   0.1728    
currentDF[, PROTEIN]        0.447618   0.086377   5.182 2.19e-07 ***
Age                         0.015842   0.009283   1.707   0.0879 .  
Gendermale                  0.870259   0.163696   5.316 1.06e-07 ***
ORdate_year                -0.235162   0.030057  -7.824 5.12e-15 ***
Hypertension.compositeyes  -0.053017   0.230251  -0.230   0.8179    
DiabetesStatusDiabetes     -0.183150   0.181689  -1.008   0.3134    
SmokerStatusEx-smoker      -0.316266   0.174529  -1.812   0.0700 .  
SmokerStatusNever smoked    0.288237   0.255876   1.126   0.2600    
Med.Statin.LLDyes          -0.049076   0.191425  -0.256   0.7977    
Med.all.antiplateletyes     0.096033   0.259188   0.371   0.7110    
GFR_MDRD                    0.001989   0.003985   0.499   0.6176    
BMI                         0.005657   0.020516   0.276   0.7828    
MedHx_CVDyes                0.093233   0.157184   0.593   0.5531    
stenose50-70%             -13.345325 350.353303  -0.038   0.9696    
stenose70-90%             -13.480479 350.353191  -0.038   0.9693    
stenose90-99%             -13.551667 350.353198  -0.039   0.9691    
stenose100% (Occlusion)   -14.180536 350.353926  -0.040   0.9677    
stenose50-99%             -14.930710 350.355179  -0.043   0.9660    
stenose70-99%             -13.822004 350.354155  -0.039   0.9685    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 1209.2  on 1026  degrees of freedom
Residual deviance: 1082.9  on 1007  degrees of freedom
AIC: 1122.9

Number of Fisher Scoring iterations: 13

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ml_2015_rank ' with ' Fat10Perc ' ...
Collecting data...
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ml_2015_rank 
Trait/outcome.............: Fat10Perc 
Effect size...............: 0.447618 
Standard error............: 0.086377 
Odds ratio (effect size)..: 1.565 
Lower 95% CI..............: 1.321 
Upper 95% CI..............: 1.853 
Z-value...................: 5.182132 
P-value...................: 2.193639e-07 
Hosmer and Lemeshow r^2...: 0.104428 
Cox and Snell r^2.........: 0.115698 
Nagelkerke's pseudo r^2...: 0.167211 
Sample size of AE DB......: 2423 
Sample size of model......: 1027 
Missing data %............: 57.61453 

- processing IPH


Call:  glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    Gender + ORdate_year + BMI + MedHx_CVD, family = binomial(link = "logit"), 
    data = currentDF)

Coefficients:
         (Intercept)  currentDF[, PROTEIN]            Gendermale           ORdate_year                   BMI          MedHx_CVDyes  
           392.07230               0.18061               0.50160              -0.19581               0.02969               0.39131  

Degrees of Freedom: 1024 Total (i.e. Null);  1019 Residual
Null Deviance:      1371 
Residual Deviance: 1281     AIC: 1293

Call:
glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    Age + Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, family = binomial(link = "logit"), 
    data = currentDF)

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-2.1701  -1.1386   0.6982   0.9617   1.7551  

Coefficients:
                            Estimate Std. Error z value Pr(>|z|)    
(Intercept)               413.430677  53.512385   7.726 1.11e-14 ***
currentDF[, PROTEIN]        0.180008   0.075716   2.377 0.017434 *  
Age                         0.010033   0.008479   1.183 0.236689    
Gendermale                  0.545667   0.152016   3.590 0.000331 ***
ORdate_year                -0.206531   0.026700  -7.735 1.03e-14 ***
Hypertension.compositeyes  -0.112636   0.207286  -0.543 0.586867    
DiabetesStatusDiabetes     -0.113506   0.165535  -0.686 0.492907    
SmokerStatusEx-smoker      -0.097149   0.158542  -0.613 0.540032    
SmokerStatusNever smoked   -0.141723   0.218025  -0.650 0.515672    
Med.Statin.LLDyes          -0.086084   0.170254  -0.506 0.613122    
Med.all.antiplateletyes     0.103732   0.232980   0.445 0.656148    
GFR_MDRD                   -0.002822   0.003613  -0.781 0.434817    
BMI                         0.036544   0.019035   1.920 0.054876 .  
MedHx_CVDyes                0.365201   0.141153   2.587 0.009674 ** 
stenose50-70%              -0.401826   0.943263  -0.426 0.670111    
stenose70-90%              -0.391222   0.909306  -0.430 0.667020    
stenose90-99%              -0.317648   0.911397  -0.349 0.727443    
stenose100% (Occlusion)    -0.745875   1.137193  -0.656 0.511894    
stenose50-99%               0.123165   1.360810   0.091 0.927883    
stenose70-99%               1.975403   1.425834   1.385 0.165919    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 1371.2  on 1024  degrees of freedom
Residual deviance: 1268.6  on 1005  degrees of freedom
AIC: 1308.6

Number of Fisher Scoring iterations: 4

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ml_2015_rank ' with ' IPH ' ...
Collecting data...
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ml_2015_rank 
Trait/outcome.............: IPH 
Effect size...............: 0.180008 
Standard error............: 0.075716 
Odds ratio (effect size)..: 1.197 
Lower 95% CI..............: 1.032 
Upper 95% CI..............: 1.389 
Z-value...................: 2.377427 
P-value...................: 0.0174339 
Hosmer and Lemeshow r^2...: 0.074795 
Cox and Snell r^2.........: 0.095211 
Nagelkerke's pseudo r^2...: 0.12909 
Sample size of AE DB......: 2423 
Sample size of model......: 1025 
Missing data %............: 57.69707 

- processing MAC_binned


Call:  glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    Gender + ORdate_year + SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet, 
    family = binomial(link = "logit"), data = currentDF)

Coefficients:
             (Intercept)      currentDF[, PROTEIN]                Gendermale               ORdate_year     SmokerStatusEx-smoker  
               275.73528                   0.22784                   0.50126                  -0.13759                   0.05857  
SmokerStatusNever smoked         Med.Statin.LLDyes   Med.all.antiplateletyes  
                 0.42075                   0.40047                  -0.33729  

Degrees of Freedom: 1022 Total (i.e. Null);  1015 Residual
Null Deviance:      1417 
Residual Deviance: 1359     AIC: 1375

Call:
glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    Age + Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, family = binomial(link = "logit"), 
    data = currentDF)

Deviance Residuals: 
   Min      1Q  Median      3Q     Max  
-1.903  -1.130   0.754   1.097   1.650  

Coefficients:
                            Estimate Std. Error z value Pr(>|z|)    
(Intercept)               296.254795  50.487265   5.868 4.41e-09 ***
currentDF[, PROTEIN]        0.230423   0.072546   3.176 0.001492 ** 
Age                        -0.009277   0.008169  -1.136 0.256081    
Gendermale                  0.507404   0.147625   3.437 0.000588 ***
ORdate_year                -0.146960   0.025176  -5.837 5.30e-09 ***
Hypertension.compositeyes  -0.018654   0.198510  -0.094 0.925134    
DiabetesStatusDiabetes     -0.028077   0.159451  -0.176 0.860227    
SmokerStatusEx-smoker       0.113143   0.150717   0.751 0.452835    
SmokerStatusNever smoked    0.509672   0.214258   2.379 0.017370 *  
Med.Statin.LLDyes           0.378901   0.161396   2.348 0.018892 *  
Med.all.antiplateletyes    -0.419125   0.227897  -1.839 0.065901 .  
GFR_MDRD                    0.001073   0.003467   0.310 0.756838    
BMI                        -0.016377   0.018281  -0.896 0.370346    
MedHx_CVDyes                0.147434   0.136619   1.079 0.280517    
stenose50-70%              -0.680770   0.923420  -0.737 0.460985    
stenose70-90%              -0.715597   0.889289  -0.805 0.421002    
stenose90-99%              -0.798488   0.890683  -0.896 0.369991    
stenose100% (Occlusion)    -1.742277   1.149497  -1.516 0.129599    
stenose50-99%              -0.131148   1.354973  -0.097 0.922893    
stenose70-99%               0.356396   1.186652   0.300 0.763919    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 1417.5  on 1022  degrees of freedom
Residual deviance: 1350.2  on 1003  degrees of freedom
AIC: 1390.2

Number of Fisher Scoring iterations: 4

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ml_2015_rank ' with ' MAC_binned ' ...
Collecting data...
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ml_2015_rank 
Trait/outcome.............: MAC_binned 
Effect size...............: 0.230423 
Standard error............: 0.072546 
Odds ratio (effect size)..: 1.259 
Lower 95% CI..............: 1.092 
Upper 95% CI..............: 1.452 
Z-value...................: 3.176236 
P-value...................: 0.001491997 
Hosmer and Lemeshow r^2...: 0.047428 
Cox and Snell r^2.........: 0.063603 
Nagelkerke's pseudo r^2...: 0.084824 
Sample size of AE DB......: 2423 
Sample size of model......: 1023 
Missing data %............: 57.77961 

- processing SMC_binned


Call:  glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    Age + Gender + SmokerStatus, family = binomial(link = "logit"), 
    data = currentDF)

Coefficients:
             (Intercept)      currentDF[, PROTEIN]                       Age                Gendermale     SmokerStatusEx-smoker  
                 2.86041                  -0.28454                  -0.02413                  -0.37184                  -0.06239  
SmokerStatusNever smoked  
                -0.42455  

Degrees of Freedom: 1022 Total (i.e. Null);  1017 Residual
Null Deviance:      1260 
Residual Deviance: 1218     AIC: 1230

Call:
glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    Age + Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, family = binomial(link = "logit"), 
    data = currentDF)

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-2.0646  -1.2798   0.7265   0.8731   1.3692  

Coefficients:
                            Estimate Std. Error z value Pr(>|z|)    
(Intercept)               -21.133458  52.552076  -0.402 0.687579    
currentDF[, PROTEIN]       -0.284484   0.078214  -3.637 0.000276 ***
Age                        -0.021624   0.009007  -2.401 0.016362 *  
Gendermale                 -0.400820   0.164887  -2.431 0.015062 *  
ORdate_year                 0.011380   0.026223   0.434 0.664310    
Hypertension.compositeyes   0.176586   0.212257   0.832 0.405441    
DiabetesStatusDiabetes      0.007316   0.171510   0.043 0.965977    
SmokerStatusEx-smoker      -0.030192   0.165026  -0.183 0.854833    
SmokerStatusNever smoked   -0.416898   0.222200  -1.876 0.060624 .  
Med.Statin.LLDyes           0.020226   0.171804   0.118 0.906284    
Med.all.antiplateletyes    -0.121723   0.238580  -0.510 0.609914    
GFR_MDRD                    0.005240   0.003756   1.395 0.163024    
BMI                        -0.002086   0.020132  -0.104 0.917473    
MedHx_CVDyes               -0.055130   0.148005  -0.372 0.709529    
stenose50-70%               0.281200   0.883275   0.318 0.750211    
stenose70-90%               0.529893   0.845581   0.627 0.530881    
stenose90-99%               0.833372   0.847648   0.983 0.325530    
stenose100% (Occlusion)     0.459584   1.110889   0.414 0.679088    
stenose50-99%              14.334778 428.022224   0.033 0.973283    
stenose70-99%               0.328315   1.165197   0.282 0.778122    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 1260.0  on 1022  degrees of freedom
Residual deviance: 1204.9  on 1003  degrees of freedom
AIC: 1244.9

Number of Fisher Scoring iterations: 13

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ml_2015_rank ' with ' SMC_binned ' ...
Collecting data...
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ml_2015_rank 
Trait/outcome.............: SMC_binned 
Effect size...............: -0.284484 
Standard error............: 0.078214 
Odds ratio (effect size)..: 0.752 
Lower 95% CI..............: 0.645 
Upper 95% CI..............: 0.877 
Z-value...................: -3.637273 
P-value...................: 0.0002755402 
Hosmer and Lemeshow r^2...: 0.043715 
Cox and Snell r^2.........: 0.052418 
Nagelkerke's pseudo r^2...: 0.074016 
Sample size of AE DB......: 2423 
Sample size of model......: 1023 
Missing data %............: 57.77961 

Analysis of MCP1_rank.

- processing CalcificationPlaque


Call:  glm(formula = as.factor(currentDF[, TRAIT]) ~ ORdate_year + DiabetesStatus + 
    GFR_MDRD + MedHx_CVD, family = binomial(link = "logit"), 
    data = currentDF)

Coefficients:
           (Intercept)             ORdate_year  DiabetesStatusDiabetes                GFR_MDRD            MedHx_CVDyes  
            -5.235e+02               2.619e-01              -4.535e-01              -9.264e-03              -3.696e-01  

Degrees of Freedom: 497 Total (i.e. Null);  493 Residual
Null Deviance:      675.4 
Residual Deviance: 656.8    AIC: 666.8

Call:
glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    Age + Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, family = binomial(link = "logit"), 
    data = currentDF)

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-1.7543  -1.2079   0.8134   1.0099   1.6284  

Coefficients:
                            Estimate Std. Error z value Pr(>|z|)   
(Intercept)               -5.303e+02  1.846e+02  -2.872  0.00408 **
currentDF[, PROTEIN]      -9.703e-02  9.764e-02  -0.994  0.32037   
Age                        1.444e-03  1.244e-02   0.116  0.90761   
Gendermale                -6.259e-02  2.178e-01  -0.287  0.77380   
ORdate_year                2.642e-01  9.214e-02   2.868  0.00414 **
Hypertension.compositeyes  3.948e-01  2.795e-01   1.413  0.15772   
DiabetesStatusDiabetes    -5.263e-01  2.397e-01  -2.196  0.02808 * 
SmokerStatusEx-smoker     -1.944e-01  2.133e-01  -0.911  0.36216   
SmokerStatusNever smoked  -9.473e-02  3.207e-01  -0.295  0.76768   
Med.Statin.LLDyes         -1.919e-01  2.227e-01  -0.861  0.38897   
Med.all.antiplateletyes    2.845e-01  3.414e-01   0.833  0.40477   
GFR_MDRD                  -9.088e-03  5.390e-03  -1.686  0.09180 . 
BMI                        1.066e-02  2.573e-02   0.414  0.67859   
MedHx_CVDyes              -3.417e-01  2.018e-01  -1.693  0.09049 . 
stenose50-70%              1.416e+00  1.348e+00   1.050  0.29354   
stenose70-90%              1.678e+00  1.259e+00   1.333  0.18247   
stenose90-99%              1.412e+00  1.254e+00   1.126  0.26026   
stenose100% (Occlusion)    1.621e+00  1.604e+00   1.011  0.31222   
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 675.45  on 497  degrees of freedom
Residual deviance: 648.38  on 480  degrees of freedom
AIC: 684.38

Number of Fisher Scoring iterations: 4

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' CalcificationPlaque ' ...
Collecting data...
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_rank 
Trait/outcome.............: CalcificationPlaque 
Effect size...............: -0.097028 
Standard error............: 0.097644 
Odds ratio (effect size)..: 0.908 
Lower 95% CI..............: 0.749 
Upper 95% CI..............: 1.099 
Z-value...................: -0.993689 
P-value...................: 0.3203742 
Hosmer and Lemeshow r^2...: 0.04007 
Cox and Snell r^2.........: 0.052897 
Nagelkerke's pseudo r^2...: 0.071252 
Sample size of AE DB......: 2423 
Sample size of model......: 498 
Missing data %............: 79.44697 

- processing CollagenPlaque


Call:  glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    ORdate_year + SmokerStatus + Med.all.antiplatelet, family = binomial(link = "logit"), 
    data = currentDF)

Coefficients:
             (Intercept)      currentDF[, PROTEIN]               ORdate_year     SmokerStatusEx-smoker  SmokerStatusNever smoked  
               -800.8702                   -0.5054                    0.4003                   -0.5831                   -0.9310  
 Med.all.antiplateletyes  
                  0.7596  

Degrees of Freedom: 495 Total (i.e. Null);  490 Residual
Null Deviance:      493.1 
Residual Deviance: 447.1    AIC: 459.1

Call:
glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    Age + Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, family = binomial(link = "logit"), 
    data = currentDF)

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-2.3991   0.2993   0.4921   0.6733   1.3455  

Coefficients:
                            Estimate Std. Error z value Pr(>|z|)    
(Intercept)               -7.590e+02  8.436e+02  -0.900 0.368269    
currentDF[, PROTEIN]      -4.958e-01  1.301e-01  -3.812 0.000138 ***
Age                       -5.619e-03  1.617e-02  -0.347 0.728273    
Gendermale                -1.393e-01  2.861e-01  -0.487 0.626335    
ORdate_year                3.866e-01  1.171e-01   3.302 0.000961 ***
Hypertension.compositeyes  2.724e-01  3.500e-01   0.778 0.436329    
DiabetesStatusDiabetes     1.981e-01  3.234e-01   0.612 0.540222    
SmokerStatusEx-smoker     -5.865e-01  2.850e-01  -2.058 0.039624 *  
SmokerStatusNever smoked  -9.821e-01  3.912e-01  -2.510 0.012068 *  
Med.Statin.LLDyes         -9.019e-02  2.759e-01  -0.327 0.743778    
Med.all.antiplateletyes    8.581e-01  4.047e-01   2.120 0.033973 *  
GFR_MDRD                  -2.424e-03  7.057e-03  -0.344 0.731196    
BMI                       -9.001e-03  3.494e-02  -0.258 0.796738    
MedHx_CVDyes               7.111e-03  2.589e-01   0.027 0.978092    
stenose50-70%             -1.253e+01  8.103e+02  -0.015 0.987662    
stenose70-90%             -1.352e+01  8.103e+02  -0.017 0.986683    
stenose90-99%             -1.400e+01  8.103e+02  -0.017 0.986217    
stenose100% (Occlusion)   -1.323e+01  8.103e+02  -0.016 0.986975    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 493.05  on 495  degrees of freedom
Residual deviance: 439.04  on 478  degrees of freedom
AIC: 475.04

Number of Fisher Scoring iterations: 14

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' CollagenPlaque ' ...
Collecting data...
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_rank 
Trait/outcome.............: CollagenPlaque 
Effect size...............: -0.495808 
Standard error............: 0.130055 
Odds ratio (effect size)..: 0.609 
Lower 95% CI..............: 0.472 
Upper 95% CI..............: 0.786 
Z-value...................: -3.812285 
P-value...................: 0.0001376877 
Hosmer and Lemeshow r^2...: 0.10955 
Cox and Snell r^2.........: 0.103179 
Nagelkerke's pseudo r^2...: 0.163795 
Sample size of AE DB......: 2423 
Sample size of model......: 496 
Missing data %............: 79.52951 

- processing Fat10Perc


Call:  glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    Gender + Hypertension.composite + SmokerStatus, family = binomial(link = "logit"), 
    data = currentDF)

Coefficients:
              (Intercept)       currentDF[, PROTEIN]                 Gendermale  Hypertension.compositeyes      SmokerStatusEx-smoker  
                   0.8092                     0.6602                     0.6928                     0.6592                    -0.6083  
 SmokerStatusNever smoked  
                   0.1413  

Degrees of Freedom: 497 Total (i.e. Null);  492 Residual
Null Deviance:      491.1 
Residual Deviance: 444.9    AIC: 456.9

Call:
glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    Age + Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, family = binomial(link = "logit"), 
    data = currentDF)

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-2.5848   0.3017   0.4903   0.6709   1.8103  

Coefficients:
                            Estimate Std. Error z value Pr(>|z|)    
(Intercept)               -3.019e+02  8.644e+02  -0.349   0.7269    
currentDF[, PROTEIN]       6.900e-01  1.329e-01   5.190 2.11e-07 ***
Age                        2.784e-03  1.595e-02   0.175   0.8614    
Gendermale                 6.538e-01  2.651e-01   2.467   0.0136 *  
ORdate_year                1.572e-01  1.183e-01   1.328   0.1841    
Hypertension.compositeyes  6.489e-01  3.426e-01   1.894   0.0582 .  
DiabetesStatusDiabetes    -3.041e-01  2.996e-01  -1.015   0.3102    
SmokerStatusEx-smoker     -6.573e-01  2.800e-01  -2.347   0.0189 *  
SmokerStatusNever smoked   4.369e-02  4.552e-01   0.096   0.9235    
Med.Statin.LLDyes         -2.220e-01  2.967e-01  -0.748   0.4545    
Med.all.antiplateletyes    2.654e-01  4.143e-01   0.641   0.5218    
GFR_MDRD                   1.690e-03  7.138e-03   0.237   0.8128    
BMI                        3.527e-02  3.295e-02   1.070   0.2844    
MedHx_CVDyes               1.223e-01  2.549e-01   0.480   0.6313    
stenose50-70%             -1.438e+01  8.312e+02  -0.017   0.9862    
stenose70-90%             -1.327e+01  8.312e+02  -0.016   0.9873    
stenose90-99%             -1.361e+01  8.312e+02  -0.016   0.9869    
stenose100% (Occlusion)   -1.294e+01  8.312e+02  -0.016   0.9876    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 491.11  on 497  degrees of freedom
Residual deviance: 435.50  on 480  degrees of freedom
AIC: 471.5

Number of Fisher Scoring iterations: 14

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' Fat10Perc ' ...
Collecting data...
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_rank 
Trait/outcome.............: Fat10Perc 
Effect size...............: 0.689959 
Standard error............: 0.132948 
Odds ratio (effect size)..: 1.994 
Lower 95% CI..............: 1.536 
Upper 95% CI..............: 2.587 
Z-value...................: 5.1897 
P-value...................: 2.106334e-07 
Hosmer and Lemeshow r^2...: 0.113222 
Cox and Snell r^2.........: 0.105647 
Nagelkerke's pseudo r^2...: 0.168498 
Sample size of AE DB......: 2423 
Sample size of model......: 498 
Missing data %............: 79.44697 

- processing IPH


Call:  glm(formula = as.factor(currentDF[, TRAIT]) ~ Age + Gender + 
    DiabetesStatus + BMI + MedHx_CVD, family = binomial(link = "logit"), 
    data = currentDF)

Coefficients:
           (Intercept)                     Age              Gendermale  DiabetesStatusDiabetes                     BMI            MedHx_CVDyes  
              -1.99101                 0.01776                 0.74177                -0.50330                 0.05039                 0.34743  

Degrees of Freedom: 497 Total (i.e. Null);  492 Residual
Null Deviance:      552.3 
Residual Deviance: 530.6    AIC: 542.6

Call:
glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    Age + Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, family = binomial(link = "logit"), 
    data = currentDF)

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-2.0930   0.4579   0.6185   0.7655   1.4577  

Coefficients:
                            Estimate Std. Error z value Pr(>|z|)   
(Intercept)               -44.157516 210.353643  -0.210  0.83373   
currentDF[, PROTEIN]        0.085258   0.112450   0.758  0.44834   
Age                         0.013062   0.014168   0.922  0.35654   
Gendermale                  0.764000   0.235270   3.247  0.00116 **
ORdate_year                 0.020756   0.104972   0.198  0.84326   
Hypertension.compositeyes   0.238795   0.310574   0.769  0.44196   
DiabetesStatusDiabetes     -0.517784   0.264433  -1.958  0.05022 . 
SmokerStatusEx-smoker      -0.079166   0.246460  -0.321  0.74805   
SmokerStatusNever smoked    0.053141   0.367384   0.145  0.88499   
Med.Statin.LLDyes          -0.087080   0.260840  -0.334  0.73850   
Med.all.antiplateletyes    -0.106642   0.399317  -0.267  0.78942   
GFR_MDRD                   -0.005579   0.006259  -0.891  0.37278   
BMI                         0.050000   0.029351   1.704  0.08847 . 
MedHx_CVDyes                0.344835   0.224565   1.536  0.12464   
stenose50-70%               1.271129   1.377715   0.923  0.35620   
stenose70-90%               1.170764   1.265627   0.925  0.35494   
stenose90-99%               1.367189   1.262889   1.083  0.27899   
stenose100% (Occlusion)     1.478726   1.723795   0.858  0.39099   
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 552.26  on 497  degrees of freedom
Residual deviance: 526.41  on 480  degrees of freedom
AIC: 562.41

Number of Fisher Scoring iterations: 4

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' IPH ' ...
Collecting data...
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_rank 
Trait/outcome.............: IPH 
Effect size...............: 0.085258 
Standard error............: 0.11245 
Odds ratio (effect size)..: 1.089 
Lower 95% CI..............: 0.874 
Upper 95% CI..............: 1.358 
Z-value...................: 0.758181 
P-value...................: 0.4483429 
Hosmer and Lemeshow r^2...: 0.046812 
Cox and Snell r^2.........: 0.050589 
Nagelkerke's pseudo r^2...: 0.075495 
Sample size of AE DB......: 2423 
Sample size of model......: 498 
Missing data %............: 79.44697 

- processing MAC_binned


Call:  glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    Gender + ORdate_year + Med.Statin.LLD + GFR_MDRD, family = binomial(link = "logit"), 
    data = currentDF)

Coefficients:
         (Intercept)  currentDF[, PROTEIN]            Gendermale           ORdate_year     Med.Statin.LLDyes              GFR_MDRD  
          -762.20937               0.39750               0.32386               0.38053               0.51246              -0.00836  

Degrees of Freedom: 493 Total (i.e. Null);  488 Residual
Null Deviance:      671.2 
Residual Deviance: 630.4    AIC: 642.4

Call:
glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    Age + Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, family = binomial(link = "logit"), 
    data = currentDF)

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-2.0233  -1.1555   0.7355   0.9909   1.5585  

Coefficients:
                            Estimate Std. Error z value Pr(>|z|)    
(Intercept)               -7.459e+02  5.422e+02  -1.376 0.168912    
currentDF[, PROTEIN]       3.810e-01  1.016e-01   3.748 0.000178 ***
Age                       -1.768e-02  1.269e-02  -1.393 0.163596    
Gendermale                 3.458e-01  2.195e-01   1.575 0.115240    
ORdate_year                3.798e-01  9.574e-02   3.967 7.28e-05 ***
Hypertension.compositeyes  5.242e-02  2.887e-01   0.182 0.855941    
DiabetesStatusDiabetes    -1.422e-01  2.464e-01  -0.577 0.563990    
SmokerStatusEx-smoker      5.878e-02  2.183e-01   0.269 0.787743    
SmokerStatusNever smoked   1.942e-01  3.266e-01   0.595 0.552050    
Med.Statin.LLDyes          4.288e-01  2.239e-01   1.915 0.055488 .  
Med.all.antiplateletyes   -1.192e-01  3.515e-01  -0.339 0.734579    
GFR_MDRD                  -9.966e-03  5.527e-03  -1.803 0.071365 .  
BMI                       -3.345e-03  2.565e-02  -0.130 0.896243    
MedHx_CVDyes               1.279e-01  2.039e-01   0.627 0.530510    
stenose50-70%             -1.355e+01  5.071e+02  -0.027 0.978679    
stenose70-90%             -1.325e+01  5.071e+02  -0.026 0.979153    
stenose90-99%             -1.355e+01  5.071e+02  -0.027 0.978687    
stenose100% (Occlusion)   -1.393e+01  5.071e+02  -0.027 0.978091    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 671.15  on 493  degrees of freedom
Residual deviance: 623.39  on 476  degrees of freedom
AIC: 659.39

Number of Fisher Scoring iterations: 13

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' MAC_binned ' ...
Collecting data...
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_rank 
Trait/outcome.............: MAC_binned 
Effect size...............: 0.380999 
Standard error............: 0.101645 
Odds ratio (effect size)..: 1.464 
Lower 95% CI..............: 1.199 
Upper 95% CI..............: 1.786 
Z-value...................: 3.748326 
P-value...................: 0.0001780186 
Hosmer and Lemeshow r^2...: 0.071171 
Cox and Snell r^2.........: 0.092166 
Nagelkerke's pseudo r^2...: 0.124048 
Sample size of AE DB......: 2423 
Sample size of model......: 494 
Missing data %............: 79.61205 

- processing SMC_binned


Call:  glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    Age + Gender, family = binomial(link = "logit"), data = currentDF)

Coefficients:
         (Intercept)  currentDF[, PROTEIN]                   Age            Gendermale  
             3.58159              -0.46804              -0.03057              -0.73346  

Degrees of Freedom: 495 Total (i.e. Null);  492 Residual
Null Deviance:      595.8 
Residual Deviance: 558.3    AIC: 566.3

Call:
glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    Age + Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, family = binomial(link = "logit"), 
    data = currentDF)

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-2.3253  -1.1830   0.6182   0.8468   1.4395  

Coefficients:
                            Estimate Std. Error z value Pr(>|z|)    
(Intercept)               -2.655e+02  5.405e+02  -0.491  0.62331    
currentDF[, PROTEIN]      -4.611e-01  1.126e-01  -4.094 4.23e-05 ***
Age                       -3.691e-02  1.427e-02  -2.587  0.00969 ** 
Gendermale                -8.251e-01  2.669e-01  -3.091  0.00199 ** 
ORdate_year                1.421e-01  1.019e-01   1.395  0.16311    
Hypertension.compositeyes -3.209e-01  3.348e-01  -0.959  0.33780    
DiabetesStatusDiabetes    -2.069e-01  2.620e-01  -0.790  0.42963    
SmokerStatusEx-smoker      2.049e-01  2.393e-01   0.856  0.39174    
SmokerStatusNever smoked  -1.393e-01  3.395e-01  -0.410  0.68158    
Med.Statin.LLDyes         -1.806e-01  2.464e-01  -0.733  0.46353    
Med.all.antiplateletyes   -8.168e-02  3.820e-01  -0.214  0.83070    
GFR_MDRD                  -1.716e-03  5.923e-03  -0.290  0.77209    
BMI                       -2.059e-02  2.927e-02  -0.703  0.48175    
MedHx_CVDyes              -1.088e-01  2.247e-01  -0.484  0.62815    
stenose50-70%             -1.382e+01  5.005e+02  -0.028  0.97797    
stenose70-90%             -1.404e+01  5.005e+02  -0.028  0.97762    
stenose90-99%             -1.391e+01  5.005e+02  -0.028  0.97782    
stenose100% (Occlusion)   -1.486e+01  5.005e+02  -0.030  0.97631    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 595.82  on 495  degrees of freedom
Residual deviance: 547.99  on 478  degrees of freedom
AIC: 583.99

Number of Fisher Scoring iterations: 13

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' SMC_binned ' ...
Collecting data...
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_rank 
Trait/outcome.............: SMC_binned 
Effect size...............: -0.461087 
Standard error............: 0.112615 
Odds ratio (effect size)..: 0.631 
Lower 95% CI..............: 0.506 
Upper 95% CI..............: 0.786 
Z-value...................: -4.094379 
P-value...................: 4.233022e-05 
Hosmer and Lemeshow r^2...: 0.080275 
Cox and Snell r^2.........: 0.091928 
Nagelkerke's pseudo r^2...: 0.131479 
Sample size of AE DB......: 2423 
Sample size of model......: 496 
Missing data %............: 79.52951 

Analysis of MCP1_plasma_olink_rank.

- processing CalcificationPlaque


Call:  glm(formula = as.factor(currentDF[, TRAIT]) ~ Age + ORdate_year + 
    Hypertension.composite + stenose, family = binomial(link = "logit"), 
    data = currentDF)

Coefficients:
              (Intercept)                        Age                ORdate_year  Hypertension.compositeyes              stenose50-70%  
                242.46963                    0.01868                   -0.12931                    0.38932                   15.17511  
            stenose70-90%              stenose90-99%    stenose100% (Occlusion)              stenose50-99%              stenose70-99%  
                 15.46546                   15.03112                   30.56881                    0.51438                   14.11539  
                stenose99  
                 31.62050  

Degrees of Freedom: 477 Total (i.e. Null);  467 Residual
Null Deviance:      652.9 
Residual Deviance: 616.2    AIC: 638.2

Call:
glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    Age + Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, family = binomial(link = "logit"), 
    data = currentDF)

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-1.7050  -1.0387  -0.7367   1.1805   2.2693  

Coefficients:
                            Estimate Std. Error z value Pr(>|z|)    
(Intercept)                2.426e+02  7.908e+02   0.307   0.7590    
currentDF[, PROTEIN]      -4.091e-03  1.011e-01  -0.040   0.9677    
Age                        2.108e-02  1.231e-02   1.712   0.0868 .  
Gendermale                -1.561e-01  2.144e-01  -0.728   0.4666    
ORdate_year               -1.294e-01  3.213e-02  -4.028 5.63e-05 ***
Hypertension.compositeyes  4.027e-01  2.691e-01   1.497   0.1345    
DiabetesStatusDiabetes    -7.124e-02  2.372e-01  -0.300   0.7640    
SmokerStatusEx-smoker      1.162e-01  2.187e-01   0.532   0.5950    
SmokerStatusNever smoked  -3.183e-01  3.318e-01  -0.959   0.3375    
Med.Statin.LLDyes         -1.724e-01  2.362e-01  -0.730   0.4654    
Med.all.antiplateletyes    2.056e-01  3.146e-01   0.654   0.5134    
GFR_MDRD                   2.562e-03  5.366e-03   0.477   0.6330    
BMI                       -1.079e-02  2.601e-02  -0.415   0.6782    
MedHx_CVDyes               2.675e-01  2.046e-01   1.307   0.1911    
stenose50-70%              1.507e+01  7.881e+02   0.019   0.9847    
stenose70-90%              1.539e+01  7.881e+02   0.020   0.9844    
stenose90-99%              1.495e+01  7.881e+02   0.019   0.9849    
stenose100% (Occlusion)    3.035e+01  1.655e+03   0.018   0.9854    
stenose50-99%              3.859e-01  1.148e+03   0.000   0.9997    
stenose70-99%              1.407e+01  7.881e+02   0.018   0.9858    
stenose99                  3.142e+01  1.655e+03   0.019   0.9849    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 652.94  on 477  degrees of freedom
Residual deviance: 610.97  on 457  degrees of freedom
AIC: 652.97

Number of Fisher Scoring iterations: 14

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_plasma_olink_rank ' with ' CalcificationPlaque ' ...
Collecting data...
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_plasma_olink_rank 
Trait/outcome.............: CalcificationPlaque 
Effect size...............: -0.004091 
Standard error............: 0.101059 
Odds ratio (effect size)..: 0.996 
Lower 95% CI..............: 0.817 
Upper 95% CI..............: 1.214 
Z-value...................: -0.040485 
P-value...................: 0.9677061 
Hosmer and Lemeshow r^2...: 0.064281 
Cox and Snell r^2.........: 0.084063 
Nagelkerke's pseudo r^2...: 0.112855 
Sample size of AE DB......: 2423 
Sample size of model......: 478 
Missing data %............: 80.27239 

- processing CollagenPlaque


Call:  glm(formula = as.factor(currentDF[, TRAIT]) ~ Age + SmokerStatus + 
    MedHx_CVD, family = binomial(link = "logit"), data = currentDF)

Coefficients:
             (Intercept)                       Age     SmokerStatusEx-smoker  SmokerStatusNever smoked              MedHx_CVDyes  
                -0.34941                   0.02267                  -0.49730                  -0.80175                   0.52239  

Degrees of Freedom: 476 Total (i.e. Null);  472 Residual
Null Deviance:      526.9 
Residual Deviance: 511.8    AIC: 521.8

Call:
glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    Age + Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, family = binomial(link = "logit"), 
    data = currentDF)

Deviance Residuals: 
     Min        1Q    Median        3Q       Max  
-2.26979   0.00059   0.64407   0.77941   1.13730  

Coefficients:
                            Estimate Std. Error z value Pr(>|z|)  
(Intercept)                2.768e+01  8.141e+02   0.034   0.9729  
currentDF[, PROTEIN]       3.621e-03  1.164e-01   0.031   0.9752  
Age                        2.692e-02  1.396e-02   1.929   0.0537 .
Gendermale                -1.205e-01  2.451e-01  -0.491   0.6231  
ORdate_year               -7.347e-03  3.547e-02  -0.207   0.8359  
Hypertension.compositeyes  4.535e-02  2.993e-01   0.152   0.8796  
DiabetesStatusDiabetes    -1.455e-01  2.708e-01  -0.537   0.5910  
SmokerStatusEx-smoker     -5.394e-01  2.587e-01  -2.085   0.0371 *
SmokerStatusNever smoked  -8.649e-01  3.628e-01  -2.384   0.0171 *
Med.Statin.LLDyes          3.864e-02  2.674e-01   0.145   0.8851  
Med.all.antiplateletyes    4.056e-01  3.384e-01   1.199   0.2306  
GFR_MDRD                   2.160e-04  6.212e-03   0.035   0.9723  
BMI                        2.500e-02  3.014e-02   0.829   0.4069  
MedHx_CVDyes               5.091e-01  2.264e-01   2.248   0.0245 *
stenose50-70%             -1.415e+01  8.110e+02  -0.017   0.9861  
stenose70-90%             -1.448e+01  8.110e+02  -0.018   0.9858  
stenose90-99%             -1.464e+01  8.110e+02  -0.018   0.9856  
stenose100% (Occlusion)   -3.527e-01  1.666e+03   0.000   0.9998  
stenose50-99%             -5.474e-01  1.156e+03   0.000   0.9996  
stenose70-99%             -1.471e+01  8.110e+02  -0.018   0.9855  
stenose99                 -9.358e-01  1.666e+03  -0.001   0.9996  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 526.93  on 476  degrees of freedom
Residual deviance: 503.73  on 456  degrees of freedom
AIC: 545.73

Number of Fisher Scoring iterations: 14

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_plasma_olink_rank ' with ' CollagenPlaque ' ...
Collecting data...
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_plasma_olink_rank 
Trait/outcome.............: CollagenPlaque 
Effect size...............: 0.003621 
Standard error............: 0.116419 
Odds ratio (effect size)..: 1.004 
Lower 95% CI..............: 0.799 
Upper 95% CI..............: 1.261 
Z-value...................: 0.0311 
P-value...................: 0.9751895 
Hosmer and Lemeshow r^2...: 0.044026 
Cox and Snell r^2.........: 0.047471 
Nagelkerke's pseudo r^2...: 0.070992 
Sample size of AE DB......: 2423 
Sample size of model......: 477 
Missing data %............: 80.31366 

- processing Fat10Perc


Call:  glm(formula = as.factor(currentDF[, TRAIT]) ~ Age + Gender + 
    ORdate_year + SmokerStatus + Med.all.antiplatelet + BMI, 
    family = binomial(link = "logit"), data = currentDF)

Coefficients:
             (Intercept)                       Age                Gendermale               ORdate_year     SmokerStatusEx-smoker  
               116.16898                   0.02032                   1.02176                  -0.05944                   0.13859  
SmokerStatusNever smoked   Med.all.antiplateletyes                       BMI  
                 0.76181                   0.63953                   0.04973  

Degrees of Freedom: 477 Total (i.e. Null);  470 Residual
Null Deviance:      576.3 
Residual Deviance: 537.4    AIC: 553.4

Call:
glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    Age + Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, family = binomial(link = "logit"), 
    data = currentDF)

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-2.2463  -1.0501   0.6439   0.7951   1.4627  

Coefficients:
                            Estimate Std. Error z value Pr(>|z|)    
(Intercept)                1.392e+02  8.423e+02   0.165   0.8687    
currentDF[, PROTEIN]      -1.551e-01  1.130e-01  -1.372   0.1700    
Age                        2.678e-02  1.348e-02   1.987   0.0470 *  
Gendermale                 1.040e+00  2.280e-01   4.561 5.08e-06 ***
ORdate_year               -6.400e-02  3.476e-02  -1.841   0.0656 .  
Hypertension.compositeyes -1.060e-01  2.929e-01  -0.362   0.7173    
DiabetesStatusDiabetes     4.717e-02  2.671e-01   0.177   0.8598    
SmokerStatusEx-smoker      1.024e-01  2.393e-01   0.428   0.6687    
SmokerStatusNever smoked   7.014e-01  3.809e-01   1.841   0.0655 .  
Med.Statin.LLDyes         -1.387e-01  2.695e-01  -0.515   0.6068    
Med.all.antiplateletyes    6.949e-01  3.260e-01   2.132   0.0330 *  
GFR_MDRD                   1.454e-03  5.981e-03   0.243   0.8079    
BMI                        4.699e-02  2.805e-02   1.675   0.0938 .  
MedHx_CVDyes              -6.523e-02  2.258e-01  -0.289   0.7727    
stenose50-70%             -1.403e+01  8.394e+02  -0.017   0.9867    
stenose70-90%             -1.413e+01  8.394e+02  -0.017   0.9866    
stenose90-99%             -1.422e+01  8.394e+02  -0.017   0.9865    
stenose100% (Occlusion)   -3.114e+01  1.680e+03  -0.019   0.9852    
stenose50-99%             -3.046e+01  1.166e+03  -0.026   0.9792    
stenose70-99%             -1.408e+01  8.394e+02  -0.017   0.9866    
stenose99                  2.649e-01  1.680e+03   0.000   0.9999    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 576.34  on 477  degrees of freedom
Residual deviance: 522.60  on 457  degrees of freedom
AIC: 564.6

Number of Fisher Scoring iterations: 14

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_plasma_olink_rank ' with ' Fat10Perc ' ...
Collecting data...
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_plasma_olink_rank 
Trait/outcome.............: Fat10Perc 
Effect size...............: -0.155125 
Standard error............: 0.113044 
Odds ratio (effect size)..: 0.856 
Lower 95% CI..............: 0.686 
Upper 95% CI..............: 1.069 
Z-value...................: -1.372251 
P-value...................: 0.1699853 
Hosmer and Lemeshow r^2...: 0.093229 
Cox and Snell r^2.........: 0.106321 
Nagelkerke's pseudo r^2...: 0.151773 
Sample size of AE DB......: 2423 
Sample size of model......: 478 
Missing data %............: 80.27239 

- processing IPH


Call:  glm(formula = as.factor(currentDF[, TRAIT]) ~ Gender + ORdate_year + 
    MedHx_CVD, family = binomial(link = "logit"), data = currentDF)

Coefficients:
 (Intercept)    Gendermale   ORdate_year  MedHx_CVDyes  
   187.67641       0.62406      -0.09354       0.36848  

Degrees of Freedom: 476 Total (i.e. Null);  473 Residual
Null Deviance:      634.2 
Residual Deviance: 610.8    AIC: 618.8

Call:
glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    Age + Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, family = binomial(link = "logit"), 
    data = currentDF)

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-1.9260  -1.2247   0.7484   0.9732   1.7286  

Coefficients:
                            Estimate Std. Error z value Pr(>|z|)   
(Intercept)                2.270e+02  8.067e+02   0.281  0.77839   
currentDF[, PROTEIN]       6.743e-02  1.033e-01   0.652  0.51413   
Age                       -6.302e-03  1.243e-02  -0.507  0.61223   
Gendermale                 5.890e-01  2.140e-01   2.752  0.00591 **
ORdate_year               -1.055e-01  3.225e-02  -3.271  0.00107 **
Hypertension.compositeyes  7.644e-02  2.684e-01   0.285  0.77581   
DiabetesStatusDiabetes    -5.900e-03  2.441e-01  -0.024  0.98072   
SmokerStatusEx-smoker      8.226e-02  2.240e-01   0.367  0.71344   
SmokerStatusNever smoked  -1.627e-02  3.285e-01  -0.050  0.96049   
Med.Statin.LLDyes         -2.222e-01  2.443e-01  -0.910  0.36305   
Med.all.antiplateletyes   -3.344e-01  3.248e-01  -1.029  0.30331   
GFR_MDRD                   3.247e-03  5.487e-03   0.592  0.55402   
BMI                        1.205e-02  2.607e-02   0.462  0.64390   
MedHx_CVDyes               3.709e-01  2.051e-01   1.808  0.07058 . 
stenose50-70%             -1.537e+01  8.041e+02  -0.019  0.98474   
stenose70-90%             -1.508e+01  8.041e+02  -0.019  0.98504   
stenose90-99%             -1.524e+01  8.041e+02  -0.019  0.98488   
stenose100% (Occlusion)   -5.827e-01  1.663e+03   0.000  0.99972   
stenose50-99%              5.007e-01  1.159e+03   0.000  0.99966   
stenose70-99%             -1.417e+01  8.041e+02  -0.018  0.98594   
stenose99                  1.872e-01  1.663e+03   0.000  0.99991   
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 634.24  on 476  degrees of freedom
Residual deviance: 596.32  on 456  degrees of freedom
AIC: 638.32

Number of Fisher Scoring iterations: 14

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_plasma_olink_rank ' with ' IPH ' ...
Collecting data...
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_plasma_olink_rank 
Trait/outcome.............: IPH 
Effect size...............: 0.067426 
Standard error............: 0.103347 
Odds ratio (effect size)..: 1.07 
Lower 95% CI..............: 0.874 
Upper 95% CI..............: 1.31 
Z-value...................: 0.652426 
P-value...................: 0.5141265 
Hosmer and Lemeshow r^2...: 0.059783 
Cox and Snell r^2.........: 0.076413 
Nagelkerke's pseudo r^2...: 0.103903 
Sample size of AE DB......: 2423 
Sample size of model......: 477 
Missing data %............: 80.31366 

- processing MAC_binned


Call:  glm(formula = as.factor(currentDF[, TRAIT]) ~ Gender + ORdate_year + 
    DiabetesStatus, family = binomial(link = "logit"), data = currentDF)

Coefficients:
           (Intercept)              Gendermale             ORdate_year  DiabetesStatusDiabetes  
             144.80334                 0.80350                -0.07238                 0.32769  

Degrees of Freedom: 472 Total (i.e. Null);  469 Residual
Null Deviance:      654.8 
Residual Deviance: 630.7    AIC: 638.7

Call:
glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    Age + Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, family = binomial(link = "logit"), 
    data = currentDF)

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-1.7665  -1.1491   0.7966   1.0834   1.6665  

Coefficients:
                            Estimate Std. Error z value Pr(>|z|)    
(Intercept)                1.444e+02  6.321e+01   2.284 0.022350 *  
currentDF[, PROTEIN]      -4.429e-02  1.003e-01  -0.442 0.658726    
Age                       -1.309e-03  1.222e-02  -0.107 0.914662    
Gendermale                 7.679e-01  2.136e-01   3.595 0.000324 ***
ORdate_year               -7.168e-02  3.151e-02  -2.275 0.022920 *  
Hypertension.compositeyes -1.515e-01  2.636e-01  -0.575 0.565492    
DiabetesStatusDiabetes     3.645e-01  2.389e-01   1.525 0.127187    
SmokerStatusEx-smoker      2.504e-01  2.184e-01   1.147 0.251489    
SmokerStatusNever smoked   1.016e-01  3.240e-01   0.314 0.753846    
Med.Statin.LLDyes          3.563e-02  2.359e-01   0.151 0.879943    
Med.all.antiplateletyes    2.106e-01  3.120e-01   0.675 0.499721    
GFR_MDRD                  -3.980e-03  5.346e-03  -0.745 0.456546    
BMI                       -1.807e-02  2.552e-02  -0.708 0.478937    
MedHx_CVDyes               1.037e-01  2.017e-01   0.514 0.607177    
stenose50-70%             -4.346e-01  1.284e+00  -0.339 0.734908    
stenose70-90%             -5.554e-01  1.253e+00  -0.443 0.657546    
stenose90-99%             -2.760e-01  1.256e+00  -0.220 0.826036    
stenose100% (Occlusion)    1.445e+01  1.455e+03   0.010 0.992077    
stenose50-99%             -1.571e+01  8.078e+02  -0.019 0.984483    
stenose70-99%              7.089e-01  1.513e+00   0.469 0.639394    
stenose99                  1.536e+01  1.455e+03   0.011 0.991578    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 654.78  on 472  degrees of freedom
Residual deviance: 617.31  on 452  degrees of freedom
AIC: 659.31

Number of Fisher Scoring iterations: 14

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_plasma_olink_rank ' with ' MAC_binned ' ...
Collecting data...
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_plasma_olink_rank 
Trait/outcome.............: MAC_binned 
Effect size...............: -0.044293 
Standard error............: 0.100284 
Odds ratio (effect size)..: 0.957 
Lower 95% CI..............: 0.786 
Upper 95% CI..............: 1.164 
Z-value...................: -0.441672 
P-value...................: 0.6587264 
Hosmer and Lemeshow r^2...: 0.057225 
Cox and Snell r^2.........: 0.076161 
Nagelkerke's pseudo r^2...: 0.101615 
Sample size of AE DB......: 2423 
Sample size of model......: 473 
Missing data %............: 80.47875 

- processing SMC_binned


Call:  glm(formula = as.factor(currentDF[, TRAIT]) ~ Age, family = binomial(link = "logit"), 
    data = currentDF)

Coefficients:
(Intercept)          Age  
    2.36154     -0.02275  

Degrees of Freedom: 473 Total (i.e. Null);  472 Residual
Null Deviance:      591.7 
Residual Deviance: 587.4    AIC: 591.4

Call:
glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    Age + Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, family = binomial(link = "logit"), 
    data = currentDF)

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-1.8310  -1.3745   0.7761   0.8955   1.4757  

Coefficients:
                            Estimate Std. Error z value Pr(>|z|)
(Intercept)                8.727e+01  6.662e+01   1.310    0.190
currentDF[, PROTEIN]      -1.060e-01  1.052e-01  -1.008    0.314
Age                       -1.665e-02  1.300e-02  -1.281    0.200
Gendermale                -2.728e-01  2.283e-01  -1.195    0.232
ORdate_year               -4.264e-02  3.321e-02  -1.284    0.199
Hypertension.compositeyes -1.759e-02  2.803e-01  -0.063    0.950
DiabetesStatusDiabetes    -1.400e-01  2.445e-01  -0.572    0.567
SmokerStatusEx-smoker     -1.023e-02  2.317e-01  -0.044    0.965
SmokerStatusNever smoked  -3.630e-01  3.365e-01  -1.079    0.281
Med.Statin.LLDyes         -5.187e-02  2.478e-01  -0.209    0.834
Med.all.antiplateletyes   -4.945e-02  3.258e-01  -0.152    0.879
GFR_MDRD                  -4.442e-03  5.599e-03  -0.793    0.428
BMI                        1.545e-03  2.717e-02   0.057    0.955
MedHx_CVDyes              -1.521e-01  2.142e-01  -0.710    0.478
stenose50-70%              1.028e+00  1.286e+00   0.799    0.424
stenose70-90%              1.004e+00  1.252e+00   0.802    0.422
stenose90-99%              1.027e+00  1.255e+00   0.819    0.413
stenose100% (Occlusion)    1.583e+01  1.455e+03   0.011    0.991
stenose50-99%              1.607e+01  8.348e+02   0.019    0.985
stenose70-99%              3.637e-01  1.466e+00   0.248    0.804
stenose99                  1.681e+01  1.455e+03   0.012    0.991

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 591.71  on 473  degrees of freedom
Residual deviance: 574.06  on 453  degrees of freedom
AIC: 616.06

Number of Fisher Scoring iterations: 14

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_plasma_olink_rank ' with ' SMC_binned ' ...
Collecting data...
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_plasma_olink_rank 
Trait/outcome.............: SMC_binned 
Effect size...............: -0.106025 
Standard error............: 0.105233 
Odds ratio (effect size)..: 0.899 
Lower 95% CI..............: 0.732 
Upper 95% CI..............: 1.105 
Z-value...................: -1.007523 
P-value...................: 0.3136834 
Hosmer and Lemeshow r^2...: 0.029825 
Cox and Snell r^2.........: 0.036547 
Nagelkerke's pseudo r^2...: 0.051257 
Sample size of AE DB......: 2423 
Sample size of model......: 474 
Missing data %............: 80.43747 
cat("Edit the column names...\n")
Edit the column names...
colnames(GLM.results) = c("Dataset", "Predictor", "Trait",
                          "Beta", "s.e.m.",
                          "OR", "low95CI", "up95CI",
                          "Z-value", "P-value", "r^2_l", "r^2_cs", "r^2_nagelkerke", "AE_N", "Model_N", "Perc_Miss")

cat("Correct the variable types...\n")
Correct the variable types...
GLM.results$Beta <- as.numeric(GLM.results$Beta)
GLM.results$s.e.m. <- as.numeric(GLM.results$s.e.m.)
GLM.results$OR <- as.numeric(GLM.results$OR)
GLM.results$low95CI <- as.numeric(GLM.results$low95CI)
GLM.results$up95CI <- as.numeric(GLM.results$up95CI)
GLM.results$`Z-value` <- as.numeric(GLM.results$`Z-value`)
GLM.results$`P-value` <- as.numeric(GLM.results$`P-value`)
GLM.results$`r^2_l` <- as.numeric(GLM.results$`r^2_l`)
GLM.results$`r^2_cs` <- as.numeric(GLM.results$`r^2_cs`)
GLM.results$`r^2_nagelkerke` <- as.numeric(GLM.results$`r^2_nagelkerke`)
GLM.results$`AE_N` <- as.numeric(GLM.results$`AE_N`)
GLM.results$`Model_N` <- as.numeric(GLM.results$`Model_N`)
GLM.results$`Perc_Miss` <- as.numeric(GLM.results$`Perc_Miss`)

# Save the data
cat("Writing results to Excel-file...\n")
Writing results to Excel-file...
### Univariate
write.xlsx(GLM.results,
           file = paste0(OUT_loc, "/",Today,".AEDB.CEA.Bin.Multi.Protein.PlaquePhenotypes.RANK.MODEL2.xlsx"),
           row.names = FALSE, col.names = TRUE, sheetName = "Bin.Multi.PlaquePheno")

# Removing intermediates
cat("Removing intermediate files...\n")
Removing intermediate files...
rm(TRAIT, trait, currentDF, GLM.results, GLM.results.TEMP, fit, model_step)

B. Cross-sectional analysis symptoms

We will perform a cross-sectional analysis between plaque and plasma MCP1, IL6, and IL6R levels and the ‘clinical status’ of the plaque in terms of presence of patients’ symptoms (symptomatic vs. asymptomatic). The symptoms of interest are:

  • stroke
  • TIA
  • retinal infarction
  • amaurosis fugax
  • asymptomatic

Model 1

In this model we correct for Age, Gender, and year of surgery.

NOTE Given that MCP1 plasma was only measured in symptomatic patients, we exclude it from this analysis.

TRAITS.PROTEIN.RANK.limit <- c("MCP1_pg_ug_2015_rank", "MCP1_pg_ml_2015_rank", "MCP1_rank")
GLM.results <- data.frame(matrix(NA, ncol = 16, nrow = 0))
for (protein in 1:length(TRAITS.PROTEIN.RANK.limit)) {
  PROTEIN = TRAITS.PROTEIN.RANK.limit[protein]
  cat(paste0("\nAnalysis of ",PROTEIN,".\n"))
  TRAIT = "AsymptSympt"
    cat(paste0("\n- processing ",TRAIT,"\n\n"))
    currentDF <- as.data.frame(AEDB.CEA %>%
      dplyr::select(., PROTEIN, TRAIT, COVARIATES_M1) %>%
      filter(complete.cases(.))) %>%
      filter_if(~is.numeric(.), all_vars(!is.infinite(.)))
    # for debug
    # print(DT::datatable(currentDF))
    # print(nrow(currentDF))
    # print(str(currentDF))
    # print(class(currentDF[,TRAIT]))
    ### univariate
     # + Hypertension.composite + DiabetesStatus + SmokerCurrent + 
     #            Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + BMI + 
     #            CAD_history + Stroke_history + Peripheral.interv + stenose
    fit <- glm(as.factor(currentDF[,TRAIT]) ~ currentDF[,PROTEIN] + Age + Gender + ORdate_year, 
              data  =  currentDF, family = binomial(link = "logit"))
    model_step <- stepAIC(fit, direction = "both", trace = FALSE)
    print(model_step)
    print(summary(fit))
    
    GLM.results.TEMP <- data.frame(matrix(NA, ncol = 16, nrow = 0))
    GLM.results.TEMP[1,] = GLM.BIN(fit, "AEDB.CEA", PROTEIN, TRAIT, verbose = TRUE)
    GLM.results = rbind(GLM.results, GLM.results.TEMP)
  }

Analysis of MCP1_pg_ug_2015_rank.

- processing AsymptSympt


Call:  glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    Age + Gender + ORdate_year, family = binomial(link = "logit"), 
    data = currentDF)

Coefficients:
         (Intercept)  currentDF[, PROTEIN]                   Age            Gendermale           ORdate_year  
          -154.08068               0.20536               0.03017              -0.44786               0.07699  

Degrees of Freedom: 1197 Total (i.e. Null);  1193 Residual
Null Deviance:      827 
Residual Deviance: 799.6    AIC: 809.6

Call:
glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    Age + Gender + ORdate_year, family = binomial(link = "logit"), 
    data = currentDF)

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-2.5054   0.3522   0.4394   0.5296   0.8341  

Coefficients:
                       Estimate Std. Error z value Pr(>|z|)   
(Intercept)          -154.08068   66.59026  -2.314  0.02068 * 
currentDF[, PROTEIN]    0.20536    0.09573   2.145  0.03194 * 
Age                     0.03017    0.01025   2.945  0.00323 **
Gendermale             -0.44786    0.21848  -2.050  0.04037 * 
ORdate_year             0.07699    0.03322   2.318  0.02047 * 
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 826.98  on 1197  degrees of freedom
Residual deviance: 799.57  on 1193  degrees of freedom
AIC: 809.57

Number of Fisher Scoring iterations: 5

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' AsymptSympt ' ...
Collecting data...
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank 
Trait/outcome.............: AsymptSympt 
Effect size...............: 0.205363 
Standard error............: 0.095734 
Odds ratio (effect size)..: 1.228 
Lower 95% CI..............: 1.018 
Upper 95% CI..............: 1.481 
Z-value...................: 2.145142 
P-value...................: 0.03194153 
Hosmer and Lemeshow r^2...: 0.033147 
Cox and Snell r^2.........: 0.022621 
Nagelkerke's pseudo r^2...: 0.045372 
Sample size of AE DB......: 2423 
Sample size of model......: 1198 
Missing data %............: 50.55716 

Analysis of MCP1_pg_ml_2015_rank.

- processing AsymptSympt


Call:  glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    Age + Gender + ORdate_year, family = binomial(link = "logit"), 
    data = currentDF)

Coefficients:
         (Intercept)  currentDF[, PROTEIN]                   Age            Gendermale           ORdate_year  
          -124.83943               0.27031               0.02877              -0.51749               0.06249  

Degrees of Freedom: 1198 Total (i.e. Null);  1194 Residual
Null Deviance:      827.2 
Residual Deviance: 797.3    AIC: 807.3

Call:
glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    Age + Gender + ORdate_year, family = binomial(link = "logit"), 
    data = currentDF)

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-2.5524   0.3495   0.4339   0.5243   0.8965  

Coefficients:
                       Estimate Std. Error z value Pr(>|z|)   
(Intercept)          -124.83943   68.66012  -1.818  0.06903 . 
currentDF[, PROTEIN]    0.27031    0.10237   2.641  0.00828 **
Age                     0.02877    0.01023   2.811  0.00493 **
Gendermale             -0.51749    0.22116  -2.340  0.01929 * 
ORdate_year             0.06249    0.03424   1.825  0.06796 . 
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 827.22  on 1198  degrees of freedom
Residual deviance: 797.31  on 1194  degrees of freedom
AIC: 807.31

Number of Fisher Scoring iterations: 5

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ml_2015_rank ' with ' AsymptSympt ' ...
Collecting data...
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ml_2015_rank 
Trait/outcome.............: AsymptSympt 
Effect size...............: 0.270307 
Standard error............: 0.102367 
Odds ratio (effect size)..: 1.31 
Lower 95% CI..............: 1.072 
Upper 95% CI..............: 1.602 
Z-value...................: 2.640561 
P-value...................: 0.008276887 
Hosmer and Lemeshow r^2...: 0.036146 
Cox and Snell r^2.........: 0.02463 
Nagelkerke's pseudo r^2...: 0.049419 
Sample size of AE DB......: 2423 
Sample size of model......: 1199 
Missing data %............: 50.51589 

Analysis of MCP1_rank.

- processing AsymptSympt


Call:  glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    ORdate_year, family = binomial(link = "logit"), data = currentDF)

Coefficients:
         (Intercept)  currentDF[, PROTEIN]           ORdate_year  
           -473.3895                0.3371                0.2371  

Degrees of Freedom: 555 Total (i.e. Null);  553 Residual
Null Deviance:      479 
Residual Deviance: 468.7    AIC: 474.7

Call:
glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    Age + Gender + ORdate_year, family = binomial(link = "logit"), 
    data = currentDF)

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-2.3911   0.4414   0.5340   0.6219   1.0452  

Coefficients:
                       Estimate Std. Error z value Pr(>|z|)   
(Intercept)          -480.62215  225.42835  -2.132  0.03300 * 
currentDF[, PROTEIN]    0.36235    0.12346   2.935  0.00334 **
Age                     0.01562    0.01370   1.140  0.25440   
Gendermale             -0.29174    0.27407  -1.064  0.28711   
ORdate_year             0.24030    0.11253   2.135  0.03272 * 
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 478.98  on 555  degrees of freedom
Residual deviance: 466.39  on 551  degrees of freedom
AIC: 476.39

Number of Fisher Scoring iterations: 4

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' AsymptSympt ' ...
Collecting data...
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_rank 
Trait/outcome.............: AsymptSympt 
Effect size...............: 0.362354 
Standard error............: 0.123463 
Odds ratio (effect size)..: 1.437 
Lower 95% CI..............: 1.128 
Upper 95% CI..............: 1.83 
Z-value...................: 2.934919 
P-value...................: 0.003336347 
Hosmer and Lemeshow r^2...: 0.026279 
Cox and Snell r^2.........: 0.022385 
Nagelkerke's pseudo r^2...: 0.038764 
Sample size of AE DB......: 2423 
Sample size of model......: 556 
Missing data %............: 77.05324 
cat("Edit the column names...\n")
Edit the column names...
colnames(GLM.results) = c("Dataset", "Predictor", "Trait",
                          "Beta", "s.e.m.",
                          "OR", "low95CI", "up95CI",
                          "Z-value", "P-value", "r^2_l", "r^2_cs", "r^2_nagelkerke", "AE_N", "Model_N", "Perc_Miss")

cat("Correct the variable types...\n")
Correct the variable types...
GLM.results$Beta <- as.numeric(GLM.results$Beta)
GLM.results$s.e.m. <- as.numeric(GLM.results$s.e.m.)
GLM.results$OR <- as.numeric(GLM.results$OR)
GLM.results$low95CI <- as.numeric(GLM.results$low95CI)
GLM.results$up95CI <- as.numeric(GLM.results$up95CI)
GLM.results$`Z-value` <- as.numeric(GLM.results$`Z-value`)
GLM.results$`P-value` <- as.numeric(GLM.results$`P-value`)
GLM.results$`r^2_l` <- as.numeric(GLM.results$`r^2_l`)
GLM.results$`r^2_cs` <- as.numeric(GLM.results$`r^2_cs`)
GLM.results$`r^2_nagelkerke` <- as.numeric(GLM.results$`r^2_nagelkerke`)
GLM.results$`AE_N` <- as.numeric(GLM.results$`AE_N`)
GLM.results$`Model_N` <- as.numeric(GLM.results$`Model_N`)
GLM.results$`Perc_Miss` <- as.numeric(GLM.results$`Perc_Miss`)

# Save the data
cat("Writing results to Excel-file...\n")
Writing results to Excel-file...
### Univariate
write.xlsx(GLM.results,
           file = paste0(OUT_loc, "/",Today,".AEDB.CEA.Bin.Uni.Protein.RANK.Symptoms.MODEL1.xlsx"),
           row.names = FALSE, col.names = TRUE, sheetName = "Bin.Uni.Symptoms")

# Removing intermediates
cat("Removing intermediate files...\n")
Removing intermediate files...
rm(TRAIT, currentDF, GLM.results, GLM.results.TEMP, fit, model_step)

Model 2

In this model we correct for Age, Gender, Hypertension status, Diabetes status, current smoker status, lipid-lowering drugs (LLDs), antiplatelet medication, eGFR (MDRD), BMI, MedHx_CVD (combination of CAD history, stroke history, and peripheral interventions), and stenosis..

NOTE Given that MCP1 plasma was only measured in symptomatic patients, we exclude it from this analysis.


GLM.results <- data.frame(matrix(NA, ncol = 16, nrow = 0))
for (protein in 1:length(TRAITS.PROTEIN.RANK.limit)) {
  PROTEIN = TRAITS.PROTEIN.RANK.limit[protein]
  cat(paste0("\nAnalysis of ",PROTEIN,".\n"))
  TRAIT = "AsymptSympt"
    cat(paste0("\n- processing ",TRAIT,"\n\n"))
    currentDF <- as.data.frame(AEDB.CEA %>%
      dplyr::select(., PROTEIN, TRAIT, COVARIATES_M2) %>%
      filter(complete.cases(.))) %>%
      filter_if(~is.numeric(.), all_vars(!is.infinite(.)))
    # for debug
    # print(DT::datatable(currentDF))
    # print(nrow(currentDF))
    # print(str(currentDF))
    # print(class(currentDF[,TRAIT]))
    ### univariate

    fit <- glm(as.factor(currentDF[,TRAIT]) ~ currentDF[,PROTEIN] + Age + Gender + ORdate_year + 
                 Hypertension.composite + DiabetesStatus + SmokerStatus + 
                 Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + BMI + 
                 MedHx_CVD + stenose, 
               data  =  currentDF, family = binomial(link = "logit"))
    model_step <- stepAIC(fit, direction = "both", trace = FALSE)
    print(model_step)
    print(summary(fit))
    
    GLM.results.TEMP <- data.frame(matrix(NA, ncol = 16, nrow = 0))
    GLM.results.TEMP[1,] = GLM.BIN(fit, "AEDB.CEA", PROTEIN, TRAIT, verbose = TRUE)
    GLM.results = rbind(GLM.results, GLM.results.TEMP)
  }

Analysis of MCP1_pg_ug_2015_rank.

- processing AsymptSympt


Call:  glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    Age + Gender + ORdate_year + Med.all.antiplatelet + stenose, 
    family = binomial(link = "logit"), data = currentDF)

Coefficients:
            (Intercept)     currentDF[, PROTEIN]                      Age               Gendermale              ORdate_year  Med.all.antiplateletyes  
             -184.26357                  0.20674                  0.02327                 -0.40571                  0.09989                 -0.91474  
          stenose50-70%            stenose70-90%            stenose90-99%  stenose100% (Occlusion)            stenose50-99%            stenose70-99%  
              -13.17892                -14.73049                -14.37151                 -0.01341                -15.95925                 -0.80994  

Degrees of Freedom: 1037 Total (i.e. Null);  1026 Residual
Null Deviance:      726.9 
Residual Deviance: 684.5    AIC: 708.5

Call:
glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    Age + Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, family = binomial(link = "logit"), 
    data = currentDF)

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-3.1947   0.2880   0.4269   0.5447   0.9485  

Coefficients:
                            Estimate Std. Error z value Pr(>|z|)   
(Intercept)               -1.877e+02  9.601e+02  -0.196  0.84498   
currentDF[, PROTEIN]       1.901e-01  1.033e-01   1.841  0.06562 . 
Age                        3.089e-02  1.279e-02   2.415  0.01573 * 
Gendermale                -3.560e-01  2.377e-01  -1.498  0.13419   
ORdate_year                1.016e-01  3.829e-02   2.653  0.00798 **
Hypertension.compositeyes -3.381e-01  3.453e-01  -0.979  0.32749   
DiabetesStatusDiabetes    -5.824e-02  2.435e-01  -0.239  0.81098   
SmokerStatusEx-smoker     -3.503e-01  2.342e-01  -1.496  0.13476   
SmokerStatusNever smoked  -2.595e-02  3.566e-01  -0.073  0.94200   
Med.Statin.LLDyes         -2.571e-01  2.685e-01  -0.958  0.33821   
Med.all.antiplateletyes   -9.250e-01  4.808e-01  -1.924  0.05440 . 
GFR_MDRD                   6.192e-03  5.521e-03   1.122  0.26200   
BMI                       -9.105e-03  2.814e-02  -0.324  0.74627   
MedHx_CVDyes               8.733e-02  2.104e-01   0.415  0.67811   
stenose50-70%             -1.326e+01  9.570e+02  -0.014  0.98895   
stenose70-90%             -1.478e+01  9.570e+02  -0.015  0.98768   
stenose90-99%             -1.443e+01  9.570e+02  -0.015  0.98797   
stenose100% (Occlusion)   -1.944e-01  1.236e+03   0.000  0.99987   
stenose50-99%             -1.625e+01  9.570e+02  -0.017  0.98645   
stenose70-99%             -8.673e-01  1.194e+03  -0.001  0.99942   
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 726.94  on 1037  degrees of freedom
Residual deviance: 677.19  on 1018  degrees of freedom
AIC: 717.19

Number of Fisher Scoring iterations: 15

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' AsymptSympt ' ...
Collecting data...
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank 
Trait/outcome.............: AsymptSympt 
Effect size...............: 0.190126 
Standard error............: 0.103273 
Odds ratio (effect size)..: 1.209 
Lower 95% CI..............: 0.988 
Upper 95% CI..............: 1.481 
Z-value...................: 1.840995 
P-value...................: 0.06562231 
Hosmer and Lemeshow r^2...: 0.06844 
Cox and Snell r^2.........: 0.0468 
Nagelkerke's pseudo r^2...: 0.092935 
Sample size of AE DB......: 2423 
Sample size of model......: 1038 
Missing data %............: 57.16054 

Analysis of MCP1_pg_ml_2015_rank.

- processing AsymptSympt


Call:  glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    Age + Gender + ORdate_year + Med.all.antiplatelet + stenose, 
    family = binomial(link = "logit"), data = currentDF)

Coefficients:
            (Intercept)     currentDF[, PROTEIN]                      Age               Gendermale              ORdate_year  Med.all.antiplateletyes  
             -145.03274                  0.32511                  0.02147                 -0.48726                  0.08040                 -0.91400  
          stenose50-70%            stenose70-90%            stenose90-99%  stenose100% (Occlusion)            stenose50-99%            stenose70-99%  
              -13.07895                -14.66964                -14.29506                  0.03649                -15.84146                 -0.73998  

Degrees of Freedom: 1037 Total (i.e. Null);  1026 Residual
Null Deviance:      726.9 
Residual Deviance: 679.9    AIC: 703.9

Call:
glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    Age + Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, family = binomial(link = "logit"), 
    data = currentDF)

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-3.2614   0.2818   0.4201   0.5408   1.0245  

Coefficients:
                            Estimate Std. Error z value Pr(>|z|)   
(Intercept)               -1.486e+02  9.514e+02  -0.156  0.87591   
currentDF[, PROTEIN]       3.063e-01  1.122e-01   2.729  0.00636 **
Age                        2.888e-02  1.278e-02   2.260  0.02385 * 
Gendermale                -4.336e-01  2.409e-01  -1.800  0.07187 . 
ORdate_year                8.214e-02  3.946e-02   2.082  0.03739 * 
Hypertension.compositeyes -3.362e-01  3.458e-01  -0.972  0.33083   
DiabetesStatusDiabetes    -4.766e-02  2.441e-01  -0.195  0.84521   
SmokerStatusEx-smoker     -3.345e-01  2.345e-01  -1.426  0.15373   
SmokerStatusNever smoked  -2.811e-03  3.574e-01  -0.008  0.99372   
Med.Statin.LLDyes         -2.461e-01  2.688e-01  -0.916  0.35983   
Med.all.antiplateletyes   -9.270e-01  4.806e-01  -1.929  0.05372 . 
GFR_MDRD                   6.238e-03  5.532e-03   1.128  0.25950   
BMI                       -8.706e-03  2.805e-02  -0.310  0.75628   
MedHx_CVDyes               9.157e-02  2.110e-01   0.434  0.66436   
stenose50-70%             -1.317e+01  9.481e+02  -0.014  0.98891   
stenose70-90%             -1.473e+01  9.481e+02  -0.016  0.98760   
stenose90-99%             -1.437e+01  9.481e+02  -0.015  0.98791   
stenose100% (Occlusion)   -1.476e-01  1.228e+03   0.000  0.99990   
stenose50-99%             -1.613e+01  9.481e+02  -0.017  0.98642   
stenose70-99%             -7.880e-01  1.183e+03  -0.001  0.99947   
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 726.94  on 1037  degrees of freedom
Residual deviance: 673.02  on 1018  degrees of freedom
AIC: 713.02

Number of Fisher Scoring iterations: 15

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ml_2015_rank ' with ' AsymptSympt ' ...
Collecting data...
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ml_2015_rank 
Trait/outcome.............: AsymptSympt 
Effect size...............: 0.306293 
Standard error............: 0.112242 
Odds ratio (effect size)..: 1.358 
Lower 95% CI..............: 1.09 
Upper 95% CI..............: 1.693 
Z-value...................: 2.728861 
P-value...................: 0.006355351 
Hosmer and Lemeshow r^2...: 0.074179 
Cox and Snell r^2.........: 0.050624 
Nagelkerke's pseudo r^2...: 0.100528 
Sample size of AE DB......: 2423 
Sample size of model......: 1038 
Missing data %............: 57.16054 

Analysis of MCP1_rank.

- processing AsymptSympt


Call:  glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    ORdate_year + Med.Statin.LLD, family = binomial(link = "logit"), 
    data = currentDF)

Coefficients:
         (Intercept)  currentDF[, PROTEIN]           ORdate_year     Med.Statin.LLDyes  
           -529.0018                0.3015                0.2650               -0.4436  

Degrees of Freedom: 497 Total (i.e. Null);  494 Residual
Null Deviance:      442.3 
Residual Deviance: 431.4    AIC: 439.4

Call:
glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    Age + Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, family = binomial(link = "logit"), 
    data = currentDF)

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-2.4505   0.3657   0.5162   0.6508   1.2570  

Coefficients:
                            Estimate Std. Error z value Pr(>|z|)   
(Intercept)               -5.467e+02  1.385e+03  -0.395  0.69306   
currentDF[, PROTEIN]       3.487e-01  1.293e-01   2.697  0.00701 **
Age                        1.924e-02  1.635e-02   1.177  0.23928   
Gendermale                -3.424e-01  2.977e-01  -1.150  0.25001   
ORdate_year                2.808e-01  1.220e-01   2.301  0.02139 * 
Hypertension.compositeyes -5.366e-01  4.410e-01  -1.217  0.22366   
DiabetesStatusDiabetes     1.954e-01  3.251e-01   0.601  0.54780   
SmokerStatusEx-smoker     -1.745e-01  2.861e-01  -0.610  0.54197   
SmokerStatusNever smoked  -4.281e-01  4.090e-01  -1.047  0.29516   
Med.Statin.LLDyes         -3.682e-01  3.131e-01  -1.176  0.23961   
Med.all.antiplateletyes   -4.933e-01  5.140e-01  -0.960  0.33722   
GFR_MDRD                   9.396e-03  7.081e-03   1.327  0.18455   
BMI                        1.197e-02  3.425e-02   0.349  0.72676   
MedHx_CVDyes               8.287e-02  2.647e-01   0.313  0.75424   
stenose50-70%             -1.392e+01  1.363e+03  -0.010  0.99185   
stenose70-90%             -1.531e+01  1.363e+03  -0.011  0.99104   
stenose90-99%             -1.494e+01  1.363e+03  -0.011  0.99126   
stenose100% (Occlusion)   -8.723e-02  1.712e+03   0.000  0.99996   
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 442.26  on 497  degrees of freedom
Residual deviance: 417.29  on 480  degrees of freedom
AIC: 453.29

Number of Fisher Scoring iterations: 15

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' AsymptSympt ' ...
Collecting data...
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_rank 
Trait/outcome.............: AsymptSympt 
Effect size...............: 0.348715 
Standard error............: 0.129319 
Odds ratio (effect size)..: 1.417 
Lower 95% CI..............: 1.1 
Upper 95% CI..............: 1.826 
Z-value...................: 2.696545 
P-value...................: 0.007006285 
Hosmer and Lemeshow r^2...: 0.056471 
Cox and Snell r^2.........: 0.048913 
Nagelkerke's pseudo r^2...: 0.083108 
Sample size of AE DB......: 2423 
Sample size of model......: 498 
Missing data %............: 79.44697 
cat("Edit the column names...\n")
Edit the column names...
colnames(GLM.results) = c("Dataset", "Predictor", "Trait",
                          "Beta", "s.e.m.",
                          "OR", "low95CI", "up95CI",
                          "Z-value", "P-value", "r^2_l", "r^2_cs", "r^2_nagelkerke", "AE_N", "Model_N", "Perc_Miss")

cat("Correct the variable types...\n")
Correct the variable types...
GLM.results$Beta <- as.numeric(GLM.results$Beta)
GLM.results$s.e.m. <- as.numeric(GLM.results$s.e.m.)
GLM.results$OR <- as.numeric(GLM.results$OR)
GLM.results$low95CI <- as.numeric(GLM.results$low95CI)
GLM.results$up95CI <- as.numeric(GLM.results$up95CI)
GLM.results$`Z-value` <- as.numeric(GLM.results$`Z-value`)
GLM.results$`P-value` <- as.numeric(GLM.results$`P-value`)
GLM.results$`r^2_l` <- as.numeric(GLM.results$`r^2_l`)
GLM.results$`r^2_cs` <- as.numeric(GLM.results$`r^2_cs`)
GLM.results$`r^2_nagelkerke` <- as.numeric(GLM.results$`r^2_nagelkerke`)
GLM.results$`AE_N` <- as.numeric(GLM.results$`AE_N`)
GLM.results$`Model_N` <- as.numeric(GLM.results$`Model_N`)
GLM.results$`Perc_Miss` <- as.numeric(GLM.results$`Perc_Miss`)

# Save the data
cat("Writing results to Excel-file...\n")
Writing results to Excel-file...
### Univariate
write.xlsx(GLM.results,
           file = paste0(OUT_loc, "/",Today,".AEDB.CEA.Bin.Multi.Protein.RANK.Symptoms.MODEL2.xlsx"),
           row.names = FALSE, col.names = TRUE, sheetName = "Bin.Multi.Symptoms")

# Removing intermediates
cat("Removing intermediate files...\n")
Removing intermediate files...
rm(TRAIT, currentDF, GLM.results, GLM.results.TEMP, fit, model_step)

C. Longitudinal analysis secondary clinical outcome

For the longitudinal analyses of plaque and plasma MCP1, IL6, and IL6R levels and secondary cardiovascular events over a three-year follow-up period.

The primary outcome is defined as “a composite of fatal or non-fatal myocardial infarction, fatal or non-fatal stroke, ruptured aortic aneurysm, fatal cardiac failure, coronary or peripheral interventions, leg amputation due to vascular causes, and cardiovascular death”, i.e. major adverse cardiovascular events (MACE). Variable: epmajor.3years, these include: - myocardial infarction (MI) - cerebral infarction (CVA/stroke) - cardiovascular death (exact cause to be investigated) - cerebral bleeding (CVA/stroke) - fatal myocardial infarction (MI) - fatal cerebral infarction - fatal cerebral bleeding - sudden death - fatal heart failure - fatal aneurysm rupture - other cardiovascular death..

The secondary outcomes will be

  • incidence of fatal or non-fatal stroke (ischemic and bleeding) - variable: epstroke.3years, these include:
    • cerebral infarction (CVA/stroke)
    • cerebral bleeding (CVA/stroke)
    • fatal cerebral infarction
    • fatal cerebral bleeding.
  • incidence of acute coronary events (fatal or non-fatal myocardial infarction, coronary interventions) - variable: epcoronary.3years, these include:
    • myocardial infarction (MI)
    • coronary angioplasty (PCI/PTCA)
    • cardiovascular death (exact cause to be investigated)
    • coronary bypass (CABG)
    • fatal myocardial infarction (MI)
    • sudden death.
  • cardiovascular death - variable: epcvdeath.3years, these include:
    • cardiovascular death (exact cause to be investigated)
    • fatal myocardial infarction (MI)
    • fatal cerebral infarction
    • fatal cerebral bleeding
    • sudden death
    • fatal heart failure
    • fatal aneurysm rupture
    • other cardiovascular death..

30- and 90-days FU events

We will use 3-year follow-up, but we will also calculate 30 days and 90 days follow-up ‘time-to-event’ variables. On average there are 365.25 days in a year. We can calculate 30-days and 90-days follow-up time based on the three years follow-up.

cutt.off.30days = (1/365.25) * 30
cutt.off.90days = (1/365.25) * 90

# Fix maximum FU of 30 and 90 days
AEDB <- AEDB %>%
  mutate(
    FU.cutt.off.30days = ifelse(max.followup <= cutt.off.30days, max.followup, cutt.off.30days),
    FU.cutt.off.90days = ifelse(max.followup <= cutt.off.90days, max.followup, cutt.off.90days)
  ) 

AEDB.temp <- subset(AEDB,  select = c("STUDY_NUMBER", "UPID", "Age", "Gender", "Hospital", "Artery_summary", 
                                      "max.followup", 
                                      "FU.cutt.off.3years",
                                      "FU.cutt.off.30days", 
                                      "FU.cutt.off.90days"))
require(labelled)
AEDB.temp$Gender <- to_factor(AEDB.temp$Gender)
AEDB.temp$Hospital <- to_factor(AEDB.temp$Hospital)
AEDB.temp$Artery_summary <- to_factor(AEDB.temp$Artery_summary)

DT::datatable(AEDB.temp[1:10,], caption = "Excerpt of the whole AEDB.", rownames = FALSE)


rm(AEDB.temp)

AEDB.CEA <- AEDB.CEA %>%
  mutate(
    FU.cutt.off.30days = ifelse(max.followup <= cutt.off.30days, max.followup, cutt.off.30days),
    FU.cutt.off.90days = ifelse(max.followup <= cutt.off.90days, max.followup, cutt.off.90days)
  ) 

AEDB.CEA.temp <- subset(AEDB.CEA,  select = c("STUDY_NUMBER", "UPID", "Age", "Gender", "Hospital", "Artery_summary", 
                                      "max.followup", 
                                      "FU.cutt.off.3years",
                                      "FU.cutt.off.30days", 
                                      "FU.cutt.off.90days"))
require(labelled)
AEDB.CEA.temp$Gender <- to_factor(AEDB.CEA.temp$Gender)
AEDB.CEA.temp$Hospital <- to_factor(AEDB.CEA.temp$Hospital)
AEDB.CEA.temp$Artery_summary <- to_factor(AEDB.CEA.temp$Artery_summary)

DT::datatable(AEDB.CEA.temp[1:10,], caption = "Excerpt of the whole AEDB.CEA.", rownames = FALSE)


rm(AEDB.CEA.temp)

Here we will calculate the new 30- and 90-days follow-up of the events and their event-times of interest:

  • MACE (epmajor.3years)
  • Stroke (epstroke.3years)
  • Coronary events (epcoronary.3years)
  • Cardiovascular death (epcvdeath.3years)
avg_days_in_year = 365.25
cutt.off.30days.scaled <- cutt.off.30days * 365.25
cutt.off.90days.scaled <- cutt.off.90days * 365.25
# Event times
AEDB <- AEDB %>%
  mutate(
    ep_major_t_30days = ifelse(ep_major_t_3years * avg_days_in_year <= cutt.off.30days.scaled, 
                               ep_major_t_3years * avg_days_in_year, cutt.off.30days.scaled),
    ep_stroke_t_30days = ifelse(ep_stroke_t_3years * avg_days_in_year <= cutt.off.30days.scaled, 
                                ep_stroke_t_3years * avg_days_in_year, cutt.off.30days.scaled),
    ep_coronary_t_30days = ifelse(ep_coronary_t_3years * avg_days_in_year <= cutt.off.30days.scaled, 
                                  ep_coronary_t_3years * avg_days_in_year, cutt.off.30days.scaled),
    ep_cvdeath_t_30days = ifelse(ep_cvdeath_t_3years * avg_days_in_year <= cutt.off.30days.scaled, 
                                 ep_cvdeath_t_3years * avg_days_in_year, cutt.off.30days.scaled),
    ep_major_t_90days = ifelse(ep_major_t_3years * avg_days_in_year <= cutt.off.90days.scaled, 
                               ep_major_t_3years * avg_days_in_year, cutt.off.90days.scaled),
    ep_stroke_t_90days = ifelse(ep_stroke_t_3years * avg_days_in_year <= cutt.off.90days.scaled, 
                                ep_stroke_t_3years * avg_days_in_year, cutt.off.90days.scaled),
    ep_coronary_t_90days = ifelse(ep_coronary_t_3years * avg_days_in_year <= cutt.off.90days.scaled, 
                                  ep_coronary_t_3years * avg_days_in_year, cutt.off.90days.scaled),
    ep_cvdeath_t_90days = ifelse(ep_cvdeath_t_3years * avg_days_in_year <= cutt.off.90days.scaled, 
                                 ep_cvdeath_t_3years * avg_days_in_year, cutt.off.90days.scaled)
  ) 

AEDB.CEA <- AEDB.CEA %>%
  mutate(
    ep_major_t_30days = ifelse(ep_major_t_3years * avg_days_in_year <= cutt.off.30days.scaled, 
                               ep_major_t_3years * avg_days_in_year, cutt.off.30days.scaled),
    ep_stroke_t_30days = ifelse(ep_stroke_t_3years * avg_days_in_year <= cutt.off.30days.scaled, 
                                ep_stroke_t_3years * avg_days_in_year, cutt.off.30days.scaled),
    ep_coronary_t_30days = ifelse(ep_coronary_t_3years * avg_days_in_year <= cutt.off.30days.scaled, 
                                  ep_coronary_t_3years * avg_days_in_year, cutt.off.30days.scaled),
    ep_cvdeath_t_30days = ifelse(ep_cvdeath_t_3years * avg_days_in_year <= cutt.off.30days.scaled, 
                                 ep_cvdeath_t_3years * avg_days_in_year, cutt.off.30days.scaled),
    ep_major_t_90days = ifelse(ep_major_t_3years * avg_days_in_year <= cutt.off.90days.scaled, 
                               ep_major_t_3years * avg_days_in_year, cutt.off.90days.scaled),
    ep_stroke_t_90days = ifelse(ep_stroke_t_3years * avg_days_in_year <= cutt.off.90days.scaled, 
                                ep_stroke_t_3years * avg_days_in_year, cutt.off.90days.scaled),
    ep_coronary_t_90days = ifelse(ep_coronary_t_3years * avg_days_in_year <= cutt.off.90days.scaled, 
                                  ep_coronary_t_3years * avg_days_in_year, cutt.off.90days.scaled),
    ep_cvdeath_t_90days = ifelse(ep_cvdeath_t_3years * avg_days_in_year <= cutt.off.90days.scaled, 
                                 ep_cvdeath_t_3years * avg_days_in_year, cutt.off.90days.scaled)
  ) 

attach(AEDB)
The following objects are masked from AEDB.CEA:

    ABI_70, ABI_max, ABI_mean, ABI_min, ABI_OP, ablock, ablock2, ablock3, aceinhib, aceinhib2, acetylsa, Adiponectin_ng_ml_2015,
    Adiponectin_pg_ug_2015, AE_AAA_bijzonderheden, Age, Age_Q, AgeSQR, aid, AlcoholUse, Aldosteron_recode, alg10201, alg10202, alg10203,
    alg10204, alg10205, alg105, alg106, alg109, alg110, alg113, alg114, alg115, ALOX5, analg2, analg3, analgeti, Ang2, angioii, ANGPT2,
    anti_apoA1_IgG, anti_apoA1_index, anti_apoA1_na, antiall, antiall2, antiarrh, antiarrh2, ANXA2, AP_Dx, AP_Dx1, AP_Dx2, APOB, artercon,
    Artery_summary, arteryop, AsymptSympt, AsymptSympt2G, bblock, bblock2, blocko, blocksnr, BMI, BMI_US, BMI_WHO, BMI30ormore, brain401,
    brain402, brain403, brain404, brain405, brain406, brain407, brain408, brain409, brain410, brain411, brain412, brain413, brn40701,
    bspoed, CAD_Dx, CAD_Dx1, CAD_Dx2, CAD_history, CADPAOD_history, Calc.bin, calcification, calcium, calcium2, calreg, carbasal,
    cardioembolic, Caspase3_7, CAV1, CD44, CD44V3, CEA_or_CAS, CEL, CFD_recalc, cholverl, cholverl2, cholverl3, CI_history, clau1, clau2,
    Claudication, clopidog, CML, collagen, Collagen.bin, combi1, combi2, combi3, comorbidity.DM, concablo, concablo2, concablo3, concace2,
    concacei, concacet, concalle, concanal, concanal2, concanal3, concangi, concanta2, concanti, concanti2, concbblo, concbblo2, conccalc,
    conccalc2, conccalreg, conccarb, concchol, concchol2, concchol3, concclau1, concclau2, concclop, conccom1, conccom2, conccom3,
    conccort, conccorthorm2, concderm, concdig, concdig2, concdig3, concdig4, concdipy, concdiur, concdiur2, concdiur3, concerec, conceye,
    concgluc, concgluc2, concgluc3, concgluc4, concgrel, concinsu, conciron, conciron2, concneur, concneur2, concneur3, concneur4,
    concnitr, concnitr2, concotant, concotcor, concoth2, concothe, concpros, concpsy5, concren, concresp, concrheu, concrheu2, concrheu3,
    concsta2, concstat, concthro, concthyr, concthyr2, concvit2, concvita, Contralateral_surgery, conwhen, corticos, cortihorm2, creat,
    crp_all, CRP_avg, CRP_dif, crp_source, CRP_var, CST3_pg_ug, CST3_serum_luminex, CTGF, cTNI_plasma, CTSA, CTSB, CTSL1, CTSS, cyr61,
    date_ic_patient, date_ic_researcher, Date.of.birth, date.previous.operation, date1yr, date3mon, dateapprox_latest, dateapprox_worst,
    dateapprox1, dateapprox2, dateapprox3, dateapprox4, dateend1, dateend2, dateend3, dateend4, dateend5, dateend6, dateexact_latest,
    dateexact_worst, dateexact1, dateexact2, dateexact3, dateexact4, dateok, dermacor, DiabetesStatus, diastoli, diet801, diet802,
    diet803, diet804, diet805, diet806, diet807, diet808, diet809, diet810, diet811, diet812, diet813, diet814, diet815, diet816, diet817,
    diet818, diet819, diet820, diet821, diet822, diet823, diet824, dipyridi, diuretic, diuretic2, diuretic3, DM, DM.composite,
    duaalantiplatelet, duplend, eaindexl, eaindexr, eCigarettes, edaplaqu_recalc, edavrspl, EGR, EMMPRIN_45kD, EMMPRIN_58kD, ENDOGLIN,
    endpoint1, endpoint2, endpoint3, endpoint4, endpoint5, endpoint6, Eotaxin1, EP_CAD, ep_cad_t_30days, ep_cad_t_3years, EP_CAD_time,
    ep_cad.30days, EP_CI, ep_ci_t_30days, ep_ci_t_3years, EP_CI_time, ep_com_t_30days, ep_com_t_3years, EP_composite, EP_composite_time,
    EP_coronary, ep_coronary_t_30days, ep_coronary_t_3years, ep_coronary_t_90days, EP_coronary_time, EP_CVdeath, ep_cvdeath_t_30days,
    ep_cvdeath_t_3years, ep_cvdeath_t_90days, EP_CVdeath_time, EP_death, ep_death_t_30days, ep_death_t_3years, EP_death_time, EP_fatalCVA,
    ep_fatalCVA_t_30days, ep_fatalCVA_t_3years, EP_fatalCVA_time, EP_hemorrhagic_stroke, ep_hemorrhagic_stroke_t_3years,
    EP_hemorrhagic_stroke_time, ep_hemorrhagic_stroke.3years, EP_ischemic_stroke, ep_ischemic_stroke_t_3years, EP_ischemic_stroke_time,
    ep_ischemic_stroke.3years, EP_leg_amputation, EP_leg_amputation_time, ep_legamputation_t_30days, ep_legamputation_t_3years, EP_major,
    ep_major_t_30days, ep_major_t_3years, ep_major_t_90days, EP_major_time, EP_MI, ep_mi_t_30days, ep_mi_t_3years, EP_MI_time,
    EP_nonstroke_event, EP_nonstroke_event_time, ep_nonstroke_t_3years, EP_peripheral, ep_peripheral_t_30days, ep_peripheral_t_3years,
    EP_peripheral_time, EP_pta, ep_pta_t_30days, ep_pta_t_3years, EP_pta_time, EP_stroke, ep_stroke_t_30days, ep_stroke_t_3years,
    ep_stroke_t_90days, EP_stroke_time, EP_strokeCVdeath, ep_strokeCVdeath_t_30days, ep_strokeCVdeath_t_3years, EP_strokeCVdeath_time,
    EP_strokedeath, ep_strokedeath_t_30days, ep_strokedeath_t_3years, EP_strokedeath_time, ePackYearsSmoking, epcad.3years, epci.30days,
    epci.3years, epcom.30days, epcom.3years, epcoronary.30days, epcoronary.3years, epcoronary.90days, epcvdeath.30days, epcvdeath.3years,
    epcvdeath.90days, epdeath.30days, epdeath.3years, epfatalCVA.30days, epfatalCVA.3years, eplegamputation.30days,
    eplegamputation.3years, epmajor.30days, epmajor.3years, epmajor.90days, epmi.30days, epmi.3years, epnonstroke.3years,
    epperipheral.30days, epperipheral.3years, eppta.30days, eppta.3years, epstroke.30days, epstroke.3years, epstroke.90days,
    epstrokeCVdeath.30days, epstrokeCVdeath.3years, epstrokedeath.30days, epstrokedeath.3years, erec, Estradiol, everstroke_composite,
    Everstroke_Ipsilateral, exer901, exer902, exer903, exer904, exer905, exer906, exer9071, exer9072, exer9073, exer9074, exer9075,
    exer9076, exer908, exer909, exer910, eyedrop, EZis, FABP_serum, FABP4, FABP4_pg_ug, FABP4_serum_luminex, fat, Fat.bin_10, Fat.bin_40,
    Femoral.interv, FH_AAA_broth, FH_AAA_comp, FH_AAA_mat, FH_AAA_parent, FH_AAA_pat, FH_AAA_sibling, FH_AAA_sis, FH_amp_broth,
    FH_amp_comp, FH_amp_mat, FH_amp_parent, FH_amp_pat, FH_amp_sibling, FH_amp_sis, FH_CAD_broth, FH_CAD_comp, FH_CAD_mat, FH_CAD_parent,
    FH_CAD_pat, FH_CAD_sibling, FH_CAD_sis, FH_corcalc_broth, FH_corcalc_comp, FH_corcalc_mat, FH_corcalc_parent, FH_corcalc_pat,
    FH_corcalc_sibling, FH_corcalc_sis, FH_CVD_broth, FH_CVD_comp, FH_CVD_mat, FH_CVD_parent, FH_CVD_pat, FH_CVD_sibling, FH_CVD_sis,
    FH_CVdeath_broth, FH_CVdeath_comp, FH_CVdeath_mat, FH_CVdeath_parent, FH_CVdeath_pat, FH_CVdeath_sibling, FH_CVdeath_sis, FH_DM_broth,
    FH_DM_comp, FH_DM_mat, FH_DM_parent, FH_DM_pat, FH_DM_sibling, FH_DM_sis, FH_HC_broth, FH_HC_comp, FH_HC_mat, FH_HC_parent, FH_HC_pat,
    FH_HC_sibling, FH_HC_sis, FH_HT_broth, FH_HT_comp, FH_HT_mat, FH_HT_parent, FH_HT_pat, FH_HT_sibling, FH_HT_sis, FH_MI_broth,
    FH_MI_comp, FH_MI_mat, FH_MI_parent, FH_MI_pat, FH_MI_sibling, FH_MI_sis, FH_otherCVD_broth, FH_otherCVD_comp, FH_otherCVD_mat,
    FH_otherCVD_parent, FH_otherCVD_pat, FH_otherCVD_sibling, FH_otherCVD_sis, FH_PAD_broth, FH_PAD_comp, FH_PAD_mat, FH_PAD_parent,
    FH_PAD_pat, FH_PAD_sibling, FH_PAD_sis, FH_PAV_broth, FH_PAV_comp, FH_PAV_mat, FH_PAV_parent, FH_PAV_pat, FH_PAV_sibling, FH_PAV_sis,
    FH_POB_broth, FH_POB_comp, FH_POB_mat, FH_POB_parent, FH_POB_pat, FH_POB_sibling, FH_POB_sis, FH_risk_broth, FH_risk_comp,
    FH_risk_mat, FH_risk_parent, FH_risk_pat, FH_risk_sibling, FH_risk_sis, FH_Stroke_broth, FH_Stroke_comp, FH_Stroke_mat,
    FH_Stroke_parent, FH_Stroke_pat, FH_Stroke_sibling, FH_Stroke_sis, FH_tromb_broth, FH_tromb_comp, FH_tromb_mat, FH_tromb_parent,
    FH_tromb_pat, FH_tromb_sibling, FH_tromb_sis, filter_$, folicaci, followup1, followup2, followup3, Fontaine, FU_check, FU_check_date,
    FU.cutt.off.30days, FU.cutt.off.3years, FU.cutt.off.90days, FU1JAAR, FU2JAAR, FU3JAAR, FURIN_low, FURIN_up, GDF15_plasma, geen_med,
    Gender, GFR_CG, GFR_MDRD, glucose, GR_Segment, GrB_plaque, GrB_serum, grel, GrK_plaque, GrK_serum, GrM_plaque, GrM_serum, HA, hb,
    HDAC9, HDL, HDL_2016, HDL_all, HDL_avg, HDL_clinic, HDL_dif, HDL_final, HDL_finalCU, hdl_source, HDL_var, heart300, heart301,
    heart302, heart303, heart304, heart305, heart306, heart307, heart308, heart309, heart310, heart311, heart312, heart313, heart314,
    heart315, heart316, heart317, heart318, heart319, heart320, heart321, heart322, heart323, heart324, heart325, heart326, heart327,
    heart328, HIF1A, ho1, homocys, Hospital, hrt31301, hsCRP_plasma, ht, HYAL55KD, HYALURON, Hypertension.composite, Hypertension.drugs,
    Hypertension.selfreport, Hypertension.selfreportdrug, Hypertension1, Hypertension2, IL1_Beta, IL10, IL12, IL13, IL17, IL2, IL21, IL4,
    IL5, IL6, IL6_pg_ml_2015, IL6_pg_ug_2015, IL6R_pg_ml_2015, IL6R_pg_ug_2015, IL8, IL8_pg_ml_2015, IL8_pg_ug_2015, IL9,
    indexsymptoms_latest, indexsymptoms_latest_4g, indexsymptoms_worst, indexsymptoms_worst_4g, INFG, informedconsent, insulin, insuline,
    INVULDAT, IP10, IPH_extended.bin, IPH.bin, ironfoli, ironfoli2, KDOQI, latest, LDL, LDL_2016, LDL_all, LDL_avg, LDL_clinic, LDL_dif,
    LDL_final, LDL_finalCU, ldl_source, LDL_var, leg501, leg502, leg503, leg504, leg505, leg506, leg507, leg508, leg509, leg510, leg511,
    leg512, leg513, leg514, leg515, leg516, leg517, leg518, leg519, leg520, LMW1STME, LTB4, LTB4R, macmean0, macrophages,
    macrophages_location, Macrophages.bin, MAP, Mast_cells_plaque, max.followup, MCP1, MCP1_pg_ml_2015, MCP1_pg_ug_2015,
    MCP1_plasma_olink, MCP1_plasma_olink_rankNorm, MCSF_pg_ml_2015, MCSF_pg_ug_2015, MDC, Med_notes, Med.ablock, Med.ACE_inh,
    Med.acetylsal, Med.acetylsal_Combi1, Med.acetylsal_Combi2, Med.acetylsal_Combi3, Med.ADPinh, Med.all.antiplatelet, Med.angiot2.antag,
    Med.antiarrh, Med.anticoagulants, Med.ascal, Med.aspirin.derived, Med.bblocker, Med.calc_antag, Med.dipyridamole, Med.diuretic,
    Med.LLD, Med.nitrate, Med.otheranthyp, Med.renin, Med.statin, Med.statin.derived, Med.Statin.LLD, Med.statin2, MedHx_CVD, media,
    MG_H1, MI_Dx, MI_Dx1, MI_Dx2, MIF, MIG, MIP1a, miRNA100_RNU19, miRNA100_RNU48, miRNA155_RNU19, miRNA155_RNU48, MMP14, MMP2, MMP2TIMP2,
    MMP8, MMP9, MMP9TIMP1, MPO_plasma, MRP_14, MRP_8, MRP_8_14C, MRP_8_14C_buhlmann, MRP14_plasma, MRP8_14C_plasma, MRP8_plasma, negatibl,
    neuropsy, neuropsy2, neuropsy3, neuropsy4, neurpsy5, neutrophils, NGAL, NGAL_low, NGAL_MMP9_complex, NGAL_MMP9_local,
    NGAL_MMP9_peripheral, NGAL_total, NGAL_up, nitrate, nitrate2, NOD1, NOD2, nogobt1_recalculated, NTproBNP_plasma, Number_Events_Sorter,
    Number_Sorted_CD14, Number_Sorted_CD20, Number_Sorted_CD4_Cells, Number_Sorted_CD8_Cells, oac701, oac702, oac70305, oac704, oac705,
    oac706, oac707, oac708, oac709, oac710, oac711, oac712, oac713, oac714, OKyear, OPG, OPG_plasma, OPN, OPN_2013, OPN_plasma, OR_blood,
    Oral.glucose.inh, oralgluc, oralgluc2, oralgluc3, oralgluc4, ORyear, othanthyp, othcoron, other, other2, OverallPlaquePhenotype,
    PAI1_pg_ml_2015, PAI1_pg_ug_2015, PAOD, PARC, patch, PCSK9_plasma, PDGF_BB_plasma, Percentage_CD14, Percentage_CD20, Percentage_CD4,
    Percentage_CD8, Peripheral.interv, PKC, PLA2_plasma, plaquephenotype, PlateID_plasma_olink, positibl, PrimaryLast, PrimaryLast1,
    prostagl, PulsePressure, qual01, qual02, qual0301, qual0302, qual0303, qual0304, qual0305, qual0306, qual0307, qual0308, qual0309,
    qual0310, qual0401, qual0402, qual0403, qual0404, qual0501, qual0502, qual0503, qual06, qual07, qual08, qual0901, qual0902, qual0903,
    qual0904, qual0905, qual0906, qual0907, qual0908, qual0909, qual1010, qual1101, qual1102, qual1103, qual1104, RAAS_med, RANTES,
    RANTES_pg_ml_2015, RANTES_pg_ug_2015, RANTES_plasma, Ras, RE50_01, RE70_01, Renine_recode, renineinh, restenos, restenosisOK, rheuma,
    rheuma2, rheuma3, risk601, risk602, risk603, risk604, risk605, risk606, risk607, risk608, risk609, risk610, risk611, risk612, risk613,
    risk614, risk615, risk616, risk617, risk618, risk619, risk620, Segment_isolated_Tris_2015, SHBG, sICAM1, SMAD1_5_8, SMAD2, SMAD3, smc,
    smc_location, smc_macrophages_ratio, SMC.bin, smcmean0, SmokerCurrent, SmokerStatus, SmokingReported, SmokingYearOR, stat3P, statin2,
    statines, ste3mext, sten1yr, sten3mo, stenose, stenosis_con_bin, Stenosis_contralateral, Stenosis_ipsilateral, Stroke_Dx,
    Stroke_eitherside, Stroke_history, Stroke_Symptoms, StrokeTIA_Dx, StrokeTIA_history, StrokeTIA_Symptoms, STUDY_NUMBER, sympt,
    Sympt_latest, Sympt_worst, sympt1, sympt2, sympt3, sympt4, Symptoms.3g, Symptoms.4g, Symptoms.5G, systolic, T_NUMBER, TARC,
    TAT_plasma, TC_2016, TC_all, TC_avg, TC_clinic, TC_dif, TC_final, TC_finalCU, TC_var, Testosterone, TG_2016, TG_all, TG_avg,
    TG_clinic, TG_dif, TG_final, TG_finalCU, TG_var, TGF, TGFB, thrombos, thrombus, thrombus_location, thrombus_new,
    thrombus_organization, thrombus_organization_v2, thrombus_percentage, thyros2, thyrosta, Time_event_OR, TimeOR_latest,
    TimeOR_latest_4g, TimeOR_worst, TimeOR_worst_4g, TIMP1, TIMP2, TISNOW, TNFA, totalchol, totalcholesterol_source, tractdig, tractdig2,
    tractdig3, tractdig4, tractres, Treatment.DM, TREM1, triglyceride_source, triglyceriden, Tris_protein_conc_ug_ml_2015, Trop1, Trop1DT,
    Trop2, Trop2DT, Trop3, Trop3DT, TropmaxpostOK, TropoMax, TropoMaxDT, tropomaxpositief, TSratio_blood, TSratio_plaque, UPID,
    validation_date, validation1, validation2, validation3, validation4, validation5, validation6, VAR00001, VEGFA_plasma, vegfa422,
    vessel_density, vessel_density_additional, vessel_density_averaged, vessel_density_Timo2012, vessel_density_Timo2012_2,
    vessel_density_Timo2013, vitamin, vitamin2, vitb12, VRAGENLIJST, vWF_plasma, WBC_THAW, Which.femoral.artery, Whichoperation,
    writtenIC, yearablo, yearablo2, yearablo3, yearace, yearace2, yearacet, yearanal, yearanal2, yearanal3, yearangi, yearanta, yearanta2,
    yearanti, yearanti2, yearbblo, yearbblo2, yearcalc, yearcalc2, yearcalreg, yearcarb, yearchol, yearchol2, yearchol3, yearclau1,
    yearclau2, yearclop, yearcom1, yearcom2, yearcom3, yearcort, yearcorthorm2, yearderm, yeardig, yeardig2, yeardig3, yeardig4, yeardipy,
    yeardiur, yeardiur2, yeardiur3, yearerec, yeareye, yeargluc, yeargluc2, yeargluc3, yeargluc4, yeargrel, yearinsu, yeariron, yeariron2,
    yearneur, yearneur2, yearneur3, yearneur4, yearnitr, yearnitr2, yearOR_bin_2010, YearOR_per2years, yearotant, yearotcor, yearoth2,
    yearothe, yearpros, yearpsy5, yearren, yearresp, yearrheu, yearrheu2, yearrheu3, yearsta2, yearstat, yearthro, yearthyr, yearthyr2,
    yearvit2, yearvita, Yrs.no.smoking, Yrs.smoking
AEDB[,"epmajor.30days"] <- AEDB$epmajor.3years
AEDB$epmajor.30days[epmajor.3years == 1 & ep_major_t_3years > cutt.off.30days] <- 0

AEDB[,"epstroke.30days"] <- AEDB$epstroke.3years
AEDB$epstroke.30days[epstroke.3years == 1 & ep_stroke_t_3years > cutt.off.30days] <- 0

AEDB[,"epcoronary.30days"] <- AEDB$epcoronary.3years
AEDB$epcoronary.30days[epcoronary.3years == 1 & ep_coronary_t_3years > cutt.off.30days] <- 0

AEDB[,"epcvdeath.30days"] <- AEDB$epcvdeath.3years
AEDB$epcvdeath.30days[epcvdeath.3years == 1 & ep_cvdeath_t_3years > cutt.off.30days] <- 0

AEDB[,"epmajor.90days"] <- AEDB$epmajor.3years
AEDB$epmajor.90days[epmajor.3years == 1 & ep_major_t_3years > cutt.off.90days] <- 0

AEDB[,"epstroke.90days"] <- AEDB$epstroke.3years
AEDB$epstroke.90days[epstroke.3years == 1 & ep_stroke_t_3years > cutt.off.90days] <- 0

AEDB[,"epcoronary.90days"] <- AEDB$epcoronary.3years
AEDB$epcoronary.90days[epcoronary.3years == 1 & ep_coronary_t_3years > cutt.off.90days] <- 0

AEDB[,"epcvdeath.90days"] <- AEDB$epcvdeath.3years
AEDB$epcvdeath.90days[epcvdeath.3years == 1 & ep_cvdeath_t_3years > cutt.off.90days] <- 0

detach(AEDB)

AEDB.temp <- subset(AEDB,  select = c("STUDY_NUMBER", "UPID", "Age", "Gender", "Hospital", "Artery_summary", 
                                      "epmajor.3years", "epstroke.3years", "epcoronary.3years", "epcvdeath.3years",
                                      "epmajor.30days", "epstroke.30days", "epcoronary.30days", "epcvdeath.30days",
                                      "epmajor.90days", "epstroke.90days", "epcoronary.90days", "epcvdeath.90days"))
require(labelled)
AEDB.temp$Gender <- to_factor(AEDB.temp$Gender)
AEDB.temp$Hospital <- to_factor(AEDB.temp$Hospital)
AEDB.temp$Artery_summary <- to_factor(AEDB.temp$Artery_summary)

DT::datatable(AEDB.temp[1:10,], caption = "Excerpt of the whole AEDB.", rownames = FALSE)


rm(AEDB.temp)

attach(AEDB.CEA)
The following objects are masked from AEDB.CEA (pos = 3):

    ABI_70, ABI_max, ABI_mean, ABI_min, ABI_OP, ablock, ablock2, ablock3, aceinhib, aceinhib2, acetylsa, Adiponectin_ng_ml_2015,
    Adiponectin_pg_ug_2015, AE_AAA_bijzonderheden, Age, Age_Q, AgeGroup, AgeGroupSex, AgeSQR, aid, AlcoholUse, Aldosteron_recode,
    alg10201, alg10202, alg10203, alg10204, alg10205, alg105, alg106, alg109, alg110, alg113, alg114, alg115, ALOX5, analg2, analg3,
    analgeti, Ang2, angioii, ANGPT2, anti_apoA1_IgG, anti_apoA1_index, anti_apoA1_na, antiall, antiall2, antiarrh, antiarrh2, ANXA2,
    AP_Dx, AP_Dx1, AP_Dx2, APOB, artercon, Artery_summary, arteryop, AsymptSympt, AsymptSympt2G, bblock, bblock2, blocko, blocksnr, BMI,
    BMI_US, BMI_WHO, BMI30ormore, BMIGroup, brain401, brain402, brain403, brain404, brain405, brain406, brain407, brain408, brain409,
    brain410, brain411, brain412, brain413, brn40701, bspoed, CAD_Dx, CAD_Dx1, CAD_Dx2, CAD_history, CADPAOD_history, Calc.bin,
    calcification, CalcificationPlaque, calcium, calcium2, calreg, carbasal, cardioembolic, Caspase3_7, CAV1, CD44, CD44V3, CEA_or_CAS,
    CEL, CFD_recalc, cholverl, cholverl2, cholverl3, CI_history, clau1, clau2, Claudication, clopidog, CML, COL_Instability, collagen,
    Collagen.bin, CollagenPlaque, combi1, combi2, combi3, comorbidity.DM, concablo, concablo2, concablo3, concace2, concacei, concacet,
    concalle, concanal, concanal2, concanal3, concangi, concanta2, concanti, concanti2, concbblo, concbblo2, conccalc, conccalc2,
    conccalreg, conccarb, concchol, concchol2, concchol3, concclau1, concclau2, concclop, conccom1, conccom2, conccom3, conccort,
    conccorthorm2, concderm, concdig, concdig2, concdig3, concdig4, concdipy, concdiur, concdiur2, concdiur3, concerec, conceye, concgluc,
    concgluc2, concgluc3, concgluc4, concgrel, concinsu, conciron, conciron2, concneur, concneur2, concneur3, concneur4, concnitr,
    concnitr2, concotant, concotcor, concoth2, concothe, concpros, concpsy5, concren, concresp, concrheu, concrheu2, concrheu3, concsta2,
    concstat, concthro, concthyr, concthyr2, concvit2, concvita, Contralateral_surgery, conwhen, corticos, cortihorm2, creat, crp_all,
    CRP_avg, CRP_dif, crp_source, CRP_var, CST3_pg_ug, CST3_serum_luminex, CTGF, cTNI_plasma, CTSA, CTSB, CTSL1, CTSS, cyr61,
    date_ic_patient, date_ic_researcher, Date.of.birth, date.previous.operation, date1yr, date3mon, dateapprox_latest, dateapprox_worst,
    dateapprox1, dateapprox2, dateapprox3, dateapprox4, dateend1, dateend2, dateend3, dateend4, dateend5, dateend6, dateexact_latest,
    dateexact_worst, dateexact1, dateexact2, dateexact3, dateexact4, dateok, dermacor, DiabetesStatus, diastoli, diet801, diet802,
    diet803, diet804, diet805, diet806, diet807, diet808, diet809, diet810, diet811, diet812, diet813, diet814, diet815, diet816, diet817,
    diet818, diet819, diet820, diet821, diet822, diet823, diet824, dipyridi, diuretic, diuretic2, diuretic3, DM, DM.composite,
    duaalantiplatelet, duplend, eaindexl, eaindexr, eCigarettes, edaplaqu_recalc, edavrspl, eGFRGroup, EGR, EMMPRIN_45kD, EMMPRIN_58kD,
    ENDOGLIN, endpoint1, endpoint2, endpoint3, endpoint4, endpoint5, endpoint6, Eotaxin1, Eotaxin1_rank, EP_CAD, ep_cad_t_30days,
    ep_cad_t_3years, EP_CAD_time, ep_cad.30days, EP_CI, ep_ci_t_30days, ep_ci_t_3years, EP_CI_time, ep_com_t_30days, ep_com_t_3years,
    EP_composite, EP_composite_time, EP_coronary, ep_coronary_t_30days, ep_coronary_t_3years, ep_coronary_t_90days, EP_coronary_time,
    EP_CVdeath, ep_cvdeath_t_30days, ep_cvdeath_t_3years, ep_cvdeath_t_90days, EP_CVdeath_time, EP_death, ep_death_t_30days,
    ep_death_t_3years, EP_death_time, EP_fatalCVA, ep_fatalCVA_t_30days, ep_fatalCVA_t_3years, EP_fatalCVA_time, EP_hemorrhagic_stroke,
    ep_hemorrhagic_stroke_t_3years, EP_hemorrhagic_stroke_time, ep_hemorrhagic_stroke.3years, EP_ischemic_stroke,
    ep_ischemic_stroke_t_3years, EP_ischemic_stroke_time, ep_ischemic_stroke.3years, EP_leg_amputation, EP_leg_amputation_time,
    ep_legamputation_t_30days, ep_legamputation_t_3years, EP_major, ep_major_t_30days, ep_major_t_3years, ep_major_t_90days,
    EP_major_time, EP_MI, ep_mi_t_30days, ep_mi_t_3years, EP_MI_time, EP_nonstroke_event, EP_nonstroke_event_time, ep_nonstroke_t_3years,
    EP_peripheral, ep_peripheral_t_30days, ep_peripheral_t_3years, EP_peripheral_time, EP_pta, ep_pta_t_30days, ep_pta_t_3years,
    EP_pta_time, EP_stroke, ep_stroke_t_30days, ep_stroke_t_3years, ep_stroke_t_90days, EP_stroke_time, EP_strokeCVdeath,
    ep_strokeCVdeath_t_30days, ep_strokeCVdeath_t_3years, EP_strokeCVdeath_time, EP_strokedeath, ep_strokedeath_t_30days,
    ep_strokedeath_t_3years, EP_strokedeath_time, ePackYearsSmoking, epcad.3years, epci.30days, epci.3years, epcom.30days, epcom.3years,
    epcoronary.30days, epcoronary.3years, epcoronary.90days, epcvdeath.30days, epcvdeath.3years, epcvdeath.90days, epdeath.30days,
    epdeath.3years, epfatalCVA.30days, epfatalCVA.3years, eplegamputation.30days, eplegamputation.3years, epmajor.30days, epmajor.3years,
    epmajor.90days, epmi.30days, epmi.3years, epnonstroke.3years, epperipheral.30days, epperipheral.3years, eppta.30days, eppta.3years,
    epstroke.30days, epstroke.3years, epstroke.90days, epstrokeCVdeath.30days, epstrokeCVdeath.3years, epstrokedeath.30days,
    epstrokedeath.3years, erec, Estradiol, everstroke_composite, Everstroke_Ipsilateral, exer901, exer902, exer903, exer904, exer905,
    exer906, exer9071, exer9072, exer9073, exer9074, exer9075, exer9076, exer908, exer909, exer910, eyedrop, EZis, FABP_serum, FABP4,
    FABP4_pg_ug, FABP4_serum_luminex, fat, Fat.bin_10, Fat.bin_40, FAT10_Instability, Fat10Perc, Femoral.interv, FH_AAA_broth,
    FH_AAA_comp, FH_AAA_mat, FH_AAA_parent, FH_AAA_pat, FH_AAA_sibling, FH_AAA_sis, FH_amp_broth, FH_amp_comp, FH_amp_mat, FH_amp_parent,
    FH_amp_pat, FH_amp_sibling, FH_amp_sis, FH_CAD_broth, FH_CAD_comp, FH_CAD_mat, FH_CAD_parent, FH_CAD_pat, FH_CAD_sibling, FH_CAD_sis,
    FH_corcalc_broth, FH_corcalc_comp, FH_corcalc_mat, FH_corcalc_parent, FH_corcalc_pat, FH_corcalc_sibling, FH_corcalc_sis,
    FH_CVD_broth, FH_CVD_comp, FH_CVD_mat, FH_CVD_parent, FH_CVD_pat, FH_CVD_sibling, FH_CVD_sis, FH_CVdeath_broth, FH_CVdeath_comp,
    FH_CVdeath_mat, FH_CVdeath_parent, FH_CVdeath_pat, FH_CVdeath_sibling, FH_CVdeath_sis, FH_DM_broth, FH_DM_comp, FH_DM_mat,
    FH_DM_parent, FH_DM_pat, FH_DM_sibling, FH_DM_sis, FH_HC_broth, FH_HC_comp, FH_HC_mat, FH_HC_parent, FH_HC_pat, FH_HC_sibling,
    FH_HC_sis, FH_HT_broth, FH_HT_comp, FH_HT_mat, FH_HT_parent, FH_HT_pat, FH_HT_sibling, FH_HT_sis, FH_MI_broth, FH_MI_comp, FH_MI_mat,
    FH_MI_parent, FH_MI_pat, FH_MI_sibling, FH_MI_sis, FH_otherCVD_broth, FH_otherCVD_comp, FH_otherCVD_mat, FH_otherCVD_parent,
    FH_otherCVD_pat, FH_otherCVD_sibling, FH_otherCVD_sis, FH_PAD_broth, FH_PAD_comp, FH_PAD_mat, FH_PAD_parent, FH_PAD_pat,
    FH_PAD_sibling, FH_PAD_sis, FH_PAV_broth, FH_PAV_comp, FH_PAV_mat, FH_PAV_parent, FH_PAV_pat, FH_PAV_sibling, FH_PAV_sis,
    FH_POB_broth, FH_POB_comp, FH_POB_mat, FH_POB_parent, FH_POB_pat, FH_POB_sibling, FH_POB_sis, FH_risk_broth, FH_risk_comp,
    FH_risk_mat, FH_risk_parent, FH_risk_pat, FH_risk_sibling, FH_risk_sis, FH_Stroke_broth, FH_Stroke_comp, FH_Stroke_mat,
    FH_Stroke_parent, FH_Stroke_pat, FH_Stroke_sibling, FH_Stroke_sis, FH_tromb_broth, FH_tromb_comp, FH_tromb_mat, FH_tromb_parent,
    FH_tromb_pat, FH_tromb_sibling, FH_tromb_sis, filter_$, folicaci, followup1, followup2, followup3, Fontaine, FU_check, FU_check_date,
    FU.cutt.off.30days, FU.cutt.off.3years, FU.cutt.off.90days, FU1JAAR, FU2JAAR, FU3JAAR, FURIN_low, FURIN_up, GDF15_plasma, geen_med,
    Gender, GFR_CG, GFR_MDRD, glucose, GR_Segment, GrB_plaque, GrB_serum, grel, GrK_plaque, GrK_serum, GrM_plaque, GrM_serum, HA, hb,
    HDAC9, HDL, HDL_2016, HDL_all, HDL_avg, HDL_clinic, HDL_dif, HDL_final, HDL_finalCU, hdl_source, HDL_var, heart300, heart301,
    heart302, heart303, heart304, heart305, heart306, heart307, heart308, heart309, heart310, heart311, heart312, heart313, heart314,
    heart315, heart316, heart317, heart318, heart319, heart320, heart321, heart322, heart323, heart324, heart325, heart326, heart327,
    heart328, HIF1A, ho1, homocys, Hospital, hrt31301, hsCRP_plasma, ht, HYAL55KD, HYALURON, Hypertension.composite, Hypertension.drugs,
    Hypertension.selfreport, Hypertension.selfreportdrug, Hypertension1, Hypertension2, IL1_Beta, IL10, IL10_rank, IL12, IL12_rank, IL13,
    IL13_rank, IL17, IL2, IL2_rank, IL21, IL21_rank, IL4, IL4_rank, IL5, IL5_rank, IL6, IL6_pg_ml_2015, IL6_pg_ug_2015, IL6_rank,
    IL6R_pg_ml_2015, IL6R_pg_ug_2015, IL8, IL8_pg_ml_2015, IL8_pg_ug_2015, IL8_rank, IL9, IL9_rank, indexsymptoms_latest,
    indexsymptoms_latest_4g, indexsymptoms_worst, indexsymptoms_worst_4g, INFG, INFG_rank, informedconsent, insulin, insuline, INVULDAT,
    IP10, IP10_rank, IPH, IPH_extended.bin, IPH_Instability, IPH.bin, ironfoli, ironfoli2, KDOQI, latest, LDL, LDL_2016, LDL_all, LDL_avg,
    LDL_clinic, LDL_dif, LDL_final, LDL_finalCU, ldl_source, LDL_var, LDLGroup, leg501, leg502, leg503, leg504, leg505, leg506, leg507,
    leg508, leg509, leg510, leg511, leg512, leg513, leg514, leg515, leg516, leg517, leg518, leg519, leg520, LMW1STME, LTB4, LTB4R,
    MAC_binned, MAC_grouped, MAC_Instability, macmean0, macrophages, Macrophages_LN, macrophages_location, Macrophages_rank,
    Macrophages.bin, MAP, Mast_cells_plaque, max.followup, MCP1, MCP1_LN, MCP1_pg_ml_2015, MCP1_pg_ml_2015_LN, MCP1_pg_ml_2015_rank,
    MCP1_pg_ug_2015, MCP1_pg_ug_2015_LN, MCP1_pg_ug_2015_rank, MCP1_plasma_olink, MCP1_plasma_olink_LN, MCP1_plasma_olink_rank,
    MCP1_plasma_olink_rankNorm, MCP1_rank, MCSF_pg_ml_2015, MCSF_pg_ug_2015, MDC, MDC_rank, Med_notes, Med.ablock, Med.ACE_inh,
    Med.acetylsal, Med.acetylsal_Combi1, Med.acetylsal_Combi2, Med.acetylsal_Combi3, Med.ADPinh, Med.all.antiplatelet, Med.angiot2.antag,
    Med.antiarrh, Med.anticoagulants, Med.ascal, Med.aspirin.derived, Med.bblocker, Med.calc_antag, Med.dipyridamole, Med.diuretic,
    Med.LLD, Med.nitrate, Med.otheranthyp, Med.renin, Med.statin, Med.statin.derived, Med.Statin.LLD, Med.statin2, MedHx_CVD, media,
    MG_H1, MI_Dx, MI_Dx1, MI_Dx2, MIF, MIF_rank, MIG, MIG_rank, MIP1a, MIP1a_rank, miRNA100_RNU19, miRNA100_RNU48, miRNA155_RNU19,
    miRNA155_RNU48, MMP14, MMP2, MMP2_rank, MMP2TIMP2, MMP8, MMP8_rank, MMP9, MMP9_rank, MMP9TIMP1, MPO_plasma, MRP_14, MRP_8, MRP_8_14C,
    MRP_8_14C_buhlmann, MRP14_plasma, MRP8_14C_plasma, MRP8_plasma, negatibl, neuropsy, neuropsy2, neuropsy3, neuropsy4, neurpsy5,
    neutrophils, NGAL, NGAL_low, NGAL_MMP9_complex, NGAL_MMP9_local, NGAL_MMP9_peripheral, NGAL_total, NGAL_up, nitrate, nitrate2, NOD1,
    NOD2, nogobt1_recalculated, NTproBNP_plasma, Number_Events_Sorter, Number_Sorted_CD14, Number_Sorted_CD20, Number_Sorted_CD4_Cells,
    Number_Sorted_CD8_Cells, oac701, oac702, oac70305, oac704, oac705, oac706, oac707, oac708, oac709, oac710, oac711, oac712, oac713,
    oac714, OKyear, OPG, OPG_plasma, OPG_rank, OPN, OPN_2013, OPN_plasma, OR_blood, Oral.glucose.inh, oralgluc, oralgluc2, oralgluc3,
    oralgluc4, ORdate_epoch, ORdate_year, ORyear, othanthyp, othcoron, other, other2, OverallPlaquePhenotype, PAI1_pg_ml_2015,
    PAI1_pg_ug_2015, PAOD, PARC, PARC_rank, patch, PCSK9_plasma, PDGF_BB_plasma, Percentage_CD14, Percentage_CD20, Percentage_CD4,
    Percentage_CD8, Peripheral.interv, PKC, PLA2_plasma, Plaque_Vulnerability_Index, plaquephenotype, PlateID_plasma_olink, positibl,
    PrimaryLast, PrimaryLast1, prostagl, PulsePressure, qual01, qual02, qual0301, qual0302, qual0303, qual0304, qual0305, qual0306,
    qual0307, qual0308, qual0309, qual0310, qual0401, qual0402, qual0403, qual0404, qual0501, qual0502, qual0503, qual06, qual07, qual08,
    qual0901, qual0902, qual0903, qual0904, qual0905, qual0906, qual0907, qual0908, qual0909, qual1010, qual1101, qual1102, qual1103,
    qual1104, RAAS_med, RANTES, RANTES_pg_ml_2015, RANTES_pg_ug_2015, RANTES_plasma, RANTES_rank, Ras, RE50_01, RE70_01, Renine_recode,
    renineinh, restenos, restenosisOK, rheuma, rheuma2, rheuma3, risk601, risk602, risk603, risk604, risk605, risk606, risk607, risk608,
    risk609, risk610, risk611, risk612, risk613, risk614, risk615, risk616, risk617, risk618, risk619, risk620, SBPGroup,
    Segment_isolated_Tris_2015, SHBG, sICAM1, sICAM1_rank, SMAD1_5_8, SMAD2, SMAD3, smc, SMC_binned, SMC_grouped, SMC_Instability, SMC_LN,
    smc_location, smc_macrophages_ratio, SMC_rank, SMC.bin, smcmean0, SmokerCurrent, SmokerStatus, SmokingReported, SmokingYearOR, stat3P,
    statin2, statines, ste3mext, sten1yr, sten3mo, stenose, stenosis_con_bin, Stenosis_contralateral, Stenosis_ipsilateral, StenoticGroup,
    Stroke_Dx, Stroke_eitherside, Stroke_history, Stroke_Symptoms, StrokeTIA_Dx, StrokeTIA_history, StrokeTIA_Symptoms, STUDY_NUMBER,
    sympt, Sympt_latest, Sympt_worst, sympt1, sympt2, sympt3, sympt4, Symptoms.3g, Symptoms.4g, Symptoms.5G, systolic, T_NUMBER, TARC,
    TARC_rank, TAT_plasma, TC_2016, TC_all, TC_avg, TC_clinic, TC_dif, TC_final, TC_finalCU, TC_var, Testosterone, TG_2016, TG_all,
    TG_avg, TG_clinic, TG_dif, TG_final, TG_finalCU, TG_var, TGF, TGFB, TGFB_rank, thrombos, thrombus, thrombus_location, thrombus_new,
    thrombus_organization, thrombus_organization_v2, thrombus_percentage, thyros2, thyrosta, Time_event_OR, TimeOR_latest,
    TimeOR_latest_4g, TimeOR_worst, TimeOR_worst_4g, TIMP1, TIMP2, TISNOW, TNFA, TNFA_rank, totalchol, totalcholesterol_source, tractdig,
    tractdig2, tractdig3, tractdig4, tractres, Treatment.DM, TREM1, triglyceride_source, triglyceriden, Tris_protein_conc_ug_ml_2015,
    Trop1, Trop1DT, Trop2, Trop2DT, Trop3, Trop3DT, TropmaxpostOK, TropoMax, TropoMaxDT, tropomaxpositief, TSratio_blood, TSratio_plaque,
    UPID, validation_date, validation1, validation2, validation3, validation4, validation5, validation6, VAR00001, VEGFA, VEGFA_plasma,
    VEGFA_rank, vegfa422, vessel_density, vessel_density_additional, vessel_density_averaged, vessel_density_Timo2012,
    vessel_density_Timo2012_2, vessel_density_Timo2013, VesselDensity_LN, VesselDensity_rank, vitamin, vitamin2, vitb12, VRAGENLIJST,
    vWF_plasma, WBC_THAW, Which.femoral.artery, Whichoperation, writtenIC, yearablo, yearablo2, yearablo3, yearace, yearace2, yearacet,
    yearanal, yearanal2, yearanal3, yearangi, yearanta, yearanta2, yearanti, yearanti2, yearbblo, yearbblo2, yearcalc, yearcalc2,
    yearcalreg, yearcarb, yearchol, yearchol2, yearchol3, yearclau1, yearclau2, yearclop, yearcom1, yearcom2, yearcom3, yearcort,
    yearcorthorm2, yearderm, yeardig, yeardig2, yeardig3, yeardig4, yeardipy, yeardiur, yeardiur2, yeardiur3, yearerec, yeareye, yeargluc,
    yeargluc2, yeargluc3, yeargluc4, yeargrel, yearinsu, yeariron, yeariron2, yearneur, yearneur2, yearneur3, yearneur4, yearnitr,
    yearnitr2, yearOR_bin_2010, YearOR_per2years, yearotant, yearotcor, yearoth2, yearothe, yearpros, yearpsy5, yearren, yearresp,
    yearrheu, yearrheu2, yearrheu3, yearsta2, yearstat, yearthro, yearthyr, yearthyr2, yearvit2, yearvita, Yrs.no.smoking, Yrs.smoking
AEDB.CEA[,"epmajor.30days"] <- AEDB.CEA$epmajor.3years
AEDB.CEA$epmajor.30days[epmajor.3years == 1 & ep_major_t_3years > cutt.off.30days] <- 0

AEDB.CEA[,"epstroke.30days"] <- AEDB.CEA$epstroke.3years
AEDB.CEA$epstroke.30days[epstroke.3years == 1 & ep_stroke_t_3years > cutt.off.30days] <- 0

AEDB.CEA[,"epcoronary.30days"] <- AEDB.CEA$epcoronary.3years
AEDB.CEA$epcoronary.30days[epcoronary.3years == 1 & ep_coronary_t_3years > cutt.off.30days] <- 0

AEDB.CEA[,"epcvdeath.30days"] <- AEDB.CEA$epcvdeath.3years
AEDB.CEA$epcvdeath.30days[epcvdeath.3years == 1 & ep_cvdeath_t_3years > cutt.off.30days] <- 0

AEDB.CEA[,"epmajor.90days"] <- AEDB.CEA$epmajor.3years
AEDB.CEA$epmajor.90days[epmajor.3years == 1 & ep_major_t_3years > cutt.off.90days] <- 0

AEDB.CEA[,"epstroke.90days"] <- AEDB.CEA$epstroke.3years
AEDB.CEA$epstroke.90days[epstroke.3years == 1 & ep_stroke_t_3years > cutt.off.90days] <- 0

AEDB.CEA[,"epcoronary.90days"] <- AEDB.CEA$epcoronary.3years
AEDB.CEA$epcoronary.90days[epcoronary.3years == 1 & ep_coronary_t_3years > cutt.off.90days] <- 0

AEDB.CEA[,"epcvdeath.90days"] <- AEDB.CEA$epcvdeath.3years
AEDB.CEA$epcvdeath.90days[epcvdeath.3years == 1 & ep_cvdeath_t_3years > cutt.off.90days] <- 0

detach(AEDB.CEA)

AEDB.CEA.temp <- subset(AEDB.CEA,  select = c("STUDY_NUMBER", "UPID", "Age", "Gender", "Hospital", "Artery_summary", 
                                      "epmajor.3years", "epstroke.3years", "epcoronary.3years", "epcvdeath.3years",
                                      "epmajor.30days", "epstroke.30days", "epcoronary.30days", "epcvdeath.30days",
                                      "epmajor.90days", "epstroke.90days", "epcoronary.90days", "epcvdeath.90days"))
require(labelled)
AEDB.CEA.temp$Gender <- to_factor(AEDB.CEA.temp$Gender)
AEDB.CEA.temp$Hospital <- to_factor(AEDB.CEA.temp$Hospital)
AEDB.CEA.temp$Artery_summary <- to_factor(AEDB.CEA.temp$Artery_summary)

DT::datatable(AEDB.CEA.temp[1:10,], caption = "Excerpt of the whole AEDB.CEA.", rownames = FALSE)


rm(AEDB.CEA.temp)

Sanity checks

First we do some sanity checks and inventory the time-to-event and event variables.

# Reference: https://bioconductor.org/packages/devel/bioc/vignettes/MultiAssayExperiment/inst/doc/QuickStartMultiAssay.html
# If you want to suppress warnings and messages when installing/loading packages
# suppressPackageStartupMessages({})
install.packages.auto("survival")
install.packages.auto("survminer")
install.packages.auto("Hmisc")

cat("* Creating function to summarize Cox regression and prepare container for results.")
* Creating function to summarize Cox regression and prepare container for results.
# Function to get summary statistics from Cox regression model
COX.STAT <- function(coxfit, DATASET, OUTCOME, protein){
  cat("Summarizing Cox regression results for '", protein ,"' and its association to '",OUTCOME,"' in '",DATASET,"'.\n")
  if (nrow(summary(coxfit)$coefficients) == 1) {
    output = c(protein, rep(NA,8))
    cat("Model not fitted; probably singular.\n")
  }else {
    cat("Collecting data.\n\n")
    cox.sum <- summary(coxfit)
    cox.effectsize = cox.sum$coefficients[1,1]
    cox.SE = cox.sum$coefficients[1,3]
    cox.HReffect = cox.sum$coefficients[1,2]
    cox.CI_low = exp(cox.effectsize - 1.96 * cox.SE)
    cox.CI_up = exp(cox.effectsize + 1.96 * cox.SE)
    cox.zvalue = cox.sum$coefficients[1,4]
    cox.pvalue = cox.sum$coefficients[1,5]
    cox.sample_size = cox.sum$n
    cox.nevents = cox.sum$nevent
    
    output = c(DATASET, OUTCOME, protein, cox.effectsize, cox.SE, cox.HReffect, cox.CI_low, cox.CI_up, cox.zvalue, cox.pvalue, cox.sample_size, cox.nevents)
    cat("We have collected the following:\n")
    cat("Dataset used..............:", DATASET, "\n")
    cat("Outcome analyzed..........:", OUTCOME, "\n")
    cat("Protein...................:", protein, "\n")
    cat("Effect size...............:", round(cox.effectsize, 6), "\n")
    cat("Standard error............:", round(cox.SE, 6), "\n")
    cat("Odds ratio (effect size)..:", round(cox.HReffect, 3), "\n")
    cat("Lower 95% CI..............:", round(cox.CI_low, 3), "\n")
    cat("Upper 95% CI..............:", round(cox.CI_up, 3), "\n")
    cat("T-value...................:", round(cox.zvalue, 6), "\n")
    cat("P-value...................:", signif(cox.pvalue, 8), "\n")
    cat("Sample size in model......:", cox.sample_size, "\n")
    cat("Number of events..........:", cox.nevents, "\n")
  }
  return(output)
  print(output)
} 

times = c("ep_major_t_3years", 
          "ep_stroke_t_3years", "ep_coronary_t_3years", "ep_cvdeath_t_3years")

endpoints = c("epmajor.3years", 
              "epstroke.3years", "epcoronary.3years", "epcvdeath.3years")

cat("* Check the cases per event type - for sanity.")
* Check the cases per event type - for sanity.
for (events in endpoints){
  require(labelled)
  print(paste0("Printing the summary of: ",events))
  # print(summary(AEDB.CEA[,events]))
  print(table(AEDB.CEA[,events]))
}
[1] "Printing the summary of: epmajor.3years"

   0    1 
2035  265 
[1] "Printing the summary of: epstroke.3years"

   0    1 
2171  130 
[1] "Printing the summary of: epcoronary.3years"

   0    1 
2119  182 
[1] "Printing the summary of: epcvdeath.3years"

   0    1 
2210   90 
cat("* Check distribution of events over time - for sanity.")
* Check distribution of events over time - for sanity.
for (eventtimes in times){
  print(paste0("Printing the summary of: ",eventtimes))
  print(summary(AEDB.CEA[,eventtimes]))
}
[1] "Printing the summary of: ep_major_t_3years"
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
  0.000   2.710   3.000   2.573   3.000   3.000     125 
[1] "Printing the summary of: ep_stroke_t_3years"
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
  0.000   2.877   3.000   2.624   3.000   3.000     125 
[1] "Printing the summary of: ep_coronary_t_3years"
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
  0.000   2.784   3.000   2.622   3.000   3.000     125 
[1] "Printing the summary of: ep_cvdeath_t_3years"
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
0.00274 2.91233 3.00000 2.70902 3.00000 3.00000     125 
for (eventtime in times){
  
  print(paste0("Printing the distribution of: ",eventtime))
  p <- gghistogram(AEDB.CEA, x = eventtime, y = "..count..",
              main = eventtime, bins = 15, 
              xlab = "year", color = uithof_color[16], fill = uithof_color[16], ggtheme = theme_minimal()) 
 print(p)
 ggsave(file = paste0(QC_loc, "/",Today,".AEDB.CEA.EventDistributionPerYear.",eventtime,".pdf"), plot = last_plot())
}
[1] "Printing the distribution of: ep_major_t_3years"
[1] "Printing the distribution of: ep_stroke_t_3years"
[1] "Printing the distribution of: ep_coronary_t_3years"
[1] "Printing the distribution of: ep_cvdeath_t_3years"

times30 = c("ep_major_t_30days", 
          "ep_stroke_t_30days", "ep_coronary_t_30days", "ep_cvdeath_t_30days")

endpoints30 = c("epmajor.30days", 
              "epstroke.30days", "epcoronary.30days", "epcvdeath.30days")

cat("* Check the cases per event type - for sanity.")
* Check the cases per event type - for sanity.
for (events in endpoints30){
  print(paste0("Printing the summary of: ",events))
  # print(summary(AEDB.CEA[,events]))
  print(table(AEDB.CEA[,events]))
}
[1] "Printing the summary of: epmajor.30days"

   0    1 
2222   78 
[1] "Printing the summary of: epstroke.30days"

   0    1 
2248   53 
[1] "Printing the summary of: epcoronary.30days"

   0    1 
2267   34 
[1] "Printing the summary of: epcvdeath.30days"

   0    1 
2288   12 
cat("* Check distribution of events over time - for sanity.")
* Check distribution of events over time - for sanity.
for (eventtimes in times30){
  print(paste0("Printing the summary of: ",eventtimes))
  print(summary(AEDB.CEA[,eventtimes]))
}
[1] "Printing the summary of: ep_major_t_30days"
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
   0.00   30.00   30.00   29.09   30.00   30.00     125 
[1] "Printing the summary of: ep_stroke_t_30days"
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
   0.00   30.00   30.00   29.32   30.00   30.00     125 
[1] "Printing the summary of: ep_coronary_t_30days"
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
   0.00   30.00   30.00   29.54   30.00   30.00     125 
[1] "Printing the summary of: ep_cvdeath_t_30days"
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
  1.001  30.000  30.000  29.854  30.000  30.000     125 
for (eventtime in times30){
  
  print(paste0("Printing the distribution of: ",eventtime))
  p <- gghistogram(AEDB.CEA, x = eventtime, y = "..count..",
              main = eventtime, bins = 15, 
              xlab = "days", color = uithof_color[16], fill = uithof_color[16], ggtheme = theme_minimal()) 
 print(p)
 ggsave(file = paste0(QC_loc, "/",Today,".AEDB.CEA.EventDistributionPer30Days.",eventtime,".pdf"), plot = last_plot())
}
[1] "Printing the distribution of: ep_major_t_30days"
[1] "Printing the distribution of: ep_stroke_t_30days"
[1] "Printing the distribution of: ep_coronary_t_30days"
[1] "Printing the distribution of: ep_cvdeath_t_30days"

times90 = c("ep_major_t_90days", 
          "ep_stroke_t_90days", "ep_coronary_t_90days", "ep_cvdeath_t_90days")

endpoints90 = c("epmajor.90days", 
              "epstroke.90days", "epcoronary.90days", "epcvdeath.90days")

cat("* Check the cases per event type - for sanity.")
* Check the cases per event type - for sanity.
for (events in endpoints90){
  print(paste0("Printing the summary of: ",events))
  # print(summary(AEDB.CEA[,events]))
  print(table(AEDB.CEA[,events]))
}
[1] "Printing the summary of: epmajor.90days"

   0    1 
2206   94 
[1] "Printing the summary of: epstroke.90days"

   0    1 
2241   60 
[1] "Printing the summary of: epcoronary.90days"

   0    1 
2257   44 
[1] "Printing the summary of: epcvdeath.90days"

   0    1 
2281   19 
cat("* Check distribution of events over time - for sanity.")
* Check distribution of events over time - for sanity.
for (eventtimes in times90){
  print(paste0("Printing the summary of: ",eventtimes))
  print(summary(AEDB.CEA[,eventtimes]))
}
[1] "Printing the summary of: ep_major_t_90days"
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
   0.00   90.00   90.00   86.75   90.00   90.00     125 
[1] "Printing the summary of: ep_stroke_t_90days"
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
   0.00   90.00   90.00   87.51   90.00   90.00     125 
[1] "Printing the summary of: ep_coronary_t_90days"
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
   0.00   90.00   90.00   88.21   90.00   90.00     125 
[1] "Printing the summary of: ep_cvdeath_t_90days"
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
  1.001  90.000  90.000  89.320  90.000  90.000     125 
for (eventtime in times90){
  
  print(paste0("Printing the distribution of: ",eventtime))
  p <- gghistogram(AEDB.CEA, x = eventtime, y = "..count..",
              main = eventtime, bins = 15, 
              xlab = "days", color = uithof_color[16], fill = uithof_color[16], ggtheme = theme_minimal()) 
 print(p)
 ggsave(file = paste0(QC_loc, "/",Today,".AEDB.CEA.EventDistributionPer90Days.",eventtime,".pdf"), plot = last_plot())
}
[1] "Printing the distribution of: ep_major_t_90days"
[1] "Printing the distribution of: ep_stroke_t_90days"
[1] "Printing the distribution of: ep_coronary_t_90days"
[1] "Printing the distribution of: ep_cvdeath_t_90days"

Cox regressions

Let’s perform the actual Cox-regressions. We will apply a couple of models:

  • Model 1: adjusted for age, sex, and year of surgery
  • Model 2: adjusted for age, sex, year of surgery, hypertension, diabetes, smoking, LDL-C levels, lipid-lowering drugs, antiplatelet drugs, eGFR, BMI, history of CVD, level of stenosis

3 years follow-up

MODEL 1

# Set up a dataframe to receive results
COX.results <- data.frame(matrix(NA, ncol = 12, nrow = 0))

# Looping over each protein/endpoint/time combination
for (i in 1:length(times)){
  eptime = times[i]
  ep = endpoints[i]
  cat(paste0("* Analyzing the effect of plaque proteins on [",ep,"].\n"))
  cat(" - creating temporary SE for this work.\n")
  TEMP.DF = as.data.frame(AEDB.CEA)
  cat(" - making a 'Surv' object and adding this to temporary dataframe.\n")
  TEMP.DF$event <- as.integer(TEMP.DF[,ep])
  TEMP.DF$y <- Surv(time = TEMP.DF[,eptime], event = TEMP.DF$event)
  cat(" - making strata of each of the plaque proteins and start survival analysis.\n")
  
  for (protein in 1:length(TRAITS.PROTEIN.RANK)){
    cat(paste0("   > processing [",TRAITS.PROTEIN.RANK[protein],"]; ",protein," out of ",length(TRAITS.PROTEIN.RANK)," proteins.\n"))
    # splitting into two groups
    TEMP.DF[[ TRAITS.PROTEIN.RANK[protein] ]] <- cut2(TEMP.DF[,TRAITS.PROTEIN.RANK[protein]], g = 2)
    cat(paste0("   > cross tabulation of ",TRAITS.PROTEIN.RANK[protein],"-stratum.\n"))
    show(table(TEMP.DF[[ TRAITS.PROTEIN.RANK[protein] ]]))
    
    cat(paste0("\n   > fitting the model for ",TRAITS.PROTEIN.RANK[protein],"-stratum.\n"))
    fit <- survfit(as.formula(paste0("y ~ ", TRAITS.PROTEIN.RANK[protein])), data = TEMP.DF)
    
    cat(paste0("\n   > make a Kaplan-Meier-shizzle...\n"))
    # make Kaplan-Meier curve and save it
    show(ggsurvplot(fit, data = TEMP.DF,
                    palette = c("#DB003F", "#1290D9"),
                    # palete = c("F59D10", "#DB003F", "#49A01D", "#1290D9"),
                    linetype = c(1,2),
                    # linetype = c(1,2,3,4),
                    # conf.int = FALSE, conf.int.fill = "#595A5C", conf.int.alpha = 0.1,
                    pval = FALSE, pval.method = FALSE, pval.size = 4,
                    risk.table = TRUE, risk.table.y.text = FALSE, tables.y.text.col = TRUE, fontsize = 4,
                    censor = FALSE,
                    legend = "right",
                    legend.title = paste0("",TRAITS.PROTEIN.RANK[protein],""),
                    legend.labs = c("low", "high"),
                    title = paste0("Risk of ",ep,""), xlab = "Time [years]", font.main = c(16, "bold", "black")))
    dev.copy2pdf(file = paste0(COX_loc,"/",
                               Today,".AEDB.CEA.survival.",ep,".2G.",
                               TRAITS.PROTEIN.RANK[protein],".pdf"), width = 12, height = 10, onefile = FALSE)

    cat(paste0("\n   > perform the Cox-regression fashizzle and plot it...\n"))
    ### Do Cox-regression and plot it
    
    ### MODEL 1 (Simple model)
    cox = coxph(Surv(TEMP.DF[,eptime], event) ~ TEMP.DF[[ TRAITS.PROTEIN.RANK[protein] ]]+Age+Gender + ORdate_year, data = TEMP.DF)
    coxplot = coxph(Surv(TEMP.DF[,eptime], event) ~ strata(TEMP.DF[[ TRAITS.PROTEIN.RANK[protein] ]])+Age+Gender + ORdate_year, data = TEMP.DF)

    plot(survfit(coxplot), main = paste0("Cox proportional hazard of [",ep,"] per [",eptime,"]."),
         # ylim = c(0.2, 1), xlim = c(0,3), col = c("#595A5C", "#DB003F", "#1290D9"),
         ylim = c(0, 1), xlim = c(0,3), col = c("#DB003F", "#1290D9"),
         lty = c(1,2), lwd = 2,
         ylab = "Suvival probability", xlab = "FU time [years]",
         mark.time = FALSE, axes = FALSE, bty = "n")
    legend("topright",
           c("low", "high"),
           title = paste0("",TRAITS.PROTEIN.RANK[protein],""),
           col = c("#DB003F", "#1290D9"),
           lty = c(1,2), lwd = 2,
           bty = "n")
    axis(side = 1, at = seq(0, 3, by = 1))
    axis(side = 2, at = seq(0, 1, by = 0.2))
    dev.copy2pdf(file = paste0(COX_loc,"/",
                               Today,".AEDB.CEA.Cox.",ep,".2G.",
                               # Today,".AEDB.CEA.Cox.",ep,".4G.",
                               TRAITS.PROTEIN.RANK[protein],".MODEL1.pdf"), height = 12, width = 10, onefile = TRUE)
    show(summary(cox))

    cat(paste0("\n   > writing the Cox-regression fashizzle to Excel...\n"))

    COX.results.TEMP <- data.frame(matrix(NA, ncol = 12, nrow = 0))
    COX.results.TEMP[1,] = COX.STAT(cox, "AEDB.CEA", ep, TRAITS.PROTEIN.RANK[protein])
    COX.results = rbind(COX.results, COX.results.TEMP)

  }
}
* Analyzing the effect of plaque proteins on [epmajor.3years].
 - creating temporary SE for this work.
 - making a 'Surv' object and adding this to temporary dataframe.
 - making strata of each of the plaque proteins and start survival analysis.
   > processing [MCP1_pg_ug_2015_rank]; 1 out of 4 proteins.
   > cross tabulation of MCP1_pg_ug_2015_rank-stratum.

[-3.34102,0.00105) [ 0.00105,3.34102] 
               599                599 

   > fitting the model for MCP1_pg_ug_2015_rank-stratum.

   > make a Kaplan-Meier-shizzle...
Vectorized input to `element_text()` is not officially supported.
Results may be unexpected or may change in future versions of ggplot2.

   > perform the Cox-regression fashizzle and plot it...

Call:
coxph(formula = Surv(TEMP.DF[, eptime], event) ~ TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]] + 
    Age + Gender + ORdate_year, data = TEMP.DF)

  n= 1186, number of events= 139 
   (1237 observations deleted due to missingness)

                                                              coef exp(coef) se(coef)      z Pr(>|z|)    
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00105,3.34102]  0.09565   1.10037  0.17845  0.536 0.591959    
Age                                                        0.03515   1.03577  0.01006  3.493 0.000477 ***
Gendermale                                                 0.34053   1.40569  0.19972  1.705 0.088184 .  
ORdate_year                                               -0.03129   0.96920  0.02958 -1.058 0.290193    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

                                                          exp(coef) exp(-coef) lower .95 upper .95
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00105,3.34102]    1.1004     0.9088    0.7756     1.561
Age                                                          1.0358     0.9655    1.0155     1.056
Gendermale                                                   1.4057     0.7114    0.9504     2.079
ORdate_year                                                  0.9692     1.0318    0.9146     1.027

Concordance= 0.591  (se = 0.026 )
Likelihood ratio test= 16.26  on 4 df,   p=0.003
Wald test            = 15.38  on 4 df,   p=0.004
Score (logrank) test = 15.46  on 4 df,   p=0.004


   > writing the Cox-regression fashizzle to Excel...
Summarizing Cox regression results for ' MCP1_pg_ug_2015_rank ' and its association to ' epmajor.3years ' in ' AEDB.CEA '.
Collecting data.

We have collected the following:
Dataset used..............: AEDB.CEA 
Outcome analyzed..........: epmajor.3years 
Protein...................: MCP1_pg_ug_2015_rank 
Effect size...............: 0.095651 
Standard error............: 0.178454 
Odds ratio (effect size)..: 1.1 
Lower 95% CI..............: 0.776 
Upper 95% CI..............: 1.561 
T-value...................: 0.535999 
P-value...................: 0.5919592 
Sample size in model......: 1186 
Number of events..........: 139 
   > processing [MCP1_pg_ml_2015_rank]; 2 out of 4 proteins.
   > cross tabulation of MCP1_pg_ml_2015_rank-stratum.

[-3.34125,0.00209) [ 0.00209,3.34125] 
               600                599 

   > fitting the model for MCP1_pg_ml_2015_rank-stratum.

   > make a Kaplan-Meier-shizzle...
Vectorized input to `element_text()` is not officially supported.
Results may be unexpected or may change in future versions of ggplot2.

   > perform the Cox-regression fashizzle and plot it...

Call:
coxph(formula = Surv(TEMP.DF[, eptime], event) ~ TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]] + 
    Age + Gender + ORdate_year, data = TEMP.DF)

  n= 1187, number of events= 140 
   (1236 observations deleted due to missingness)

                                                              coef exp(coef) se(coef)      z Pr(>|z|)    
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00209,3.34125]  0.01185   1.01192  0.18373  0.064 0.948575    
Age                                                        0.03489   1.03550  0.01003  3.478 0.000506 ***
Gendermale                                                 0.35203   1.42196  0.20065  1.754 0.079351 .  
ORdate_year                                               -0.02361   0.97667  0.03018 -0.782 0.434149    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

                                                          exp(coef) exp(-coef) lower .95 upper .95
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00209,3.34125]    1.0119     0.9882    0.7059     1.451
Age                                                          1.0355     0.9657    1.0153     1.056
Gendermale                                                   1.4220     0.7033    0.9596     2.107
ORdate_year                                                  0.9767     1.0239    0.9206     1.036

Concordance= 0.589  (se = 0.025 )
Likelihood ratio test= 16.08  on 4 df,   p=0.003
Wald test            = 15.15  on 4 df,   p=0.004
Score (logrank) test = 15.23  on 4 df,   p=0.004


   > writing the Cox-regression fashizzle to Excel...
Summarizing Cox regression results for ' MCP1_pg_ml_2015_rank ' and its association to ' epmajor.3years ' in ' AEDB.CEA '.
Collecting data.

We have collected the following:
Dataset used..............: AEDB.CEA 
Outcome analyzed..........: epmajor.3years 
Protein...................: MCP1_pg_ml_2015_rank 
Effect size...............: 0.01185 
Standard error............: 0.18373 
Odds ratio (effect size)..: 1.012 
Lower 95% CI..............: 0.706 
Upper 95% CI..............: 1.451 
T-value...................: 0.064496 
P-value...................: 0.9485755 
Sample size in model......: 1187 
Number of events..........: 140 
   > processing [MCP1_rank]; 3 out of 4 proteins.
   > cross tabulation of MCP1_rank-stratum.

[-3.12162,0.00225) [ 0.00225,3.12162] 
               278                278 

   > fitting the model for MCP1_rank-stratum.

   > make a Kaplan-Meier-shizzle...
Vectorized input to `element_text()` is not officially supported.
Results may be unexpected or may change in future versions of ggplot2.

   > perform the Cox-regression fashizzle and plot it...

Call:
coxph(formula = Surv(TEMP.DF[, eptime], event) ~ TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]] + 
    Age + Gender + ORdate_year, data = TEMP.DF)

  n= 549, number of events= 70 
   (1874 observations deleted due to missingness)

                                                              coef exp(coef) se(coef)      z Pr(>|z|)  
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00225,3.12162] -0.22427   0.79910  0.24647 -0.910   0.3629  
Age                                                        0.02639   1.02674  0.01475  1.789   0.0736 .
Gendermale                                                 0.87183   2.39128  0.34246  2.546   0.0109 *
ORdate_year                                               -0.03519   0.96542  0.11300 -0.311   0.7555  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

                                                          exp(coef) exp(-coef) lower .95 upper .95
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00225,3.12162]    0.7991     1.2514    0.4929     1.295
Age                                                          1.0267     0.9740    0.9975     1.057
Gendermale                                                   2.3913     0.4182    1.2222     4.679
ORdate_year                                                  0.9654     1.0358    0.7736     1.205

Concordance= 0.618  (se = 0.034 )
Likelihood ratio test= 12.21  on 4 df,   p=0.02
Wald test            = 10.74  on 4 df,   p=0.03
Score (logrank) test = 11.16  on 4 df,   p=0.02


   > writing the Cox-regression fashizzle to Excel...
Summarizing Cox regression results for ' MCP1_rank ' and its association to ' epmajor.3years ' in ' AEDB.CEA '.
Collecting data.

We have collected the following:
Dataset used..............: AEDB.CEA 
Outcome analyzed..........: epmajor.3years 
Protein...................: MCP1_rank 
Effect size...............: -0.224272 
Standard error............: 0.246475 
Odds ratio (effect size)..: 0.799 
Lower 95% CI..............: 0.493 
Upper 95% CI..............: 1.295 
T-value...................: -0.909918 
P-value...................: 0.3628658 
Sample size in model......: 549 
Number of events..........: 70 
   > processing [MCP1_plasma_olink_rank]; 4 out of 4 proteins.
   > cross tabulation of MCP1_plasma_olink_rank-stratum.

[-3.18339,0.00365) [ 0.00365,3.18339] 
               344                343 

   > fitting the model for MCP1_plasma_olink_rank-stratum.

   > make a Kaplan-Meier-shizzle...
Vectorized input to `element_text()` is not officially supported.
Results may be unexpected or may change in future versions of ggplot2.

   > perform the Cox-regression fashizzle and plot it...

Call:
coxph(formula = Surv(TEMP.DF[, eptime], event) ~ TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]] + 
    Age + Gender + ORdate_year, data = TEMP.DF)

  n= 687, number of events= 128 
   (1736 observations deleted due to missingness)

                                                              coef exp(coef) se(coef)      z Pr(>|z|)   
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00365,3.18339]  0.61630   1.85207  0.19112  3.225  0.00126 **
Age                                                        0.01986   1.02006  0.01069  1.858  0.06317 . 
Gendermale                                                 0.25065   1.28486  0.20560  1.219  0.22280   
ORdate_year                                               -0.01544   0.98467  0.02221 -0.695  0.48689   
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

                                                          exp(coef) exp(-coef) lower .95 upper .95
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00365,3.18339]    1.8521     0.5399    1.2734     2.694
Age                                                          1.0201     0.9803    0.9989     1.042
Gendermale                                                   1.2849     0.7783    0.8587     1.923
ORdate_year                                                  0.9847     1.0156    0.9427     1.028

Concordance= 0.622  (se = 0.023 )
Likelihood ratio test= 21.62  on 4 df,   p=2e-04
Wald test            = 20.58  on 4 df,   p=4e-04
Score (logrank) test = 21.33  on 4 df,   p=3e-04


   > writing the Cox-regression fashizzle to Excel...
Summarizing Cox regression results for ' MCP1_plasma_olink_rank ' and its association to ' epmajor.3years ' in ' AEDB.CEA '.
Collecting data.

We have collected the following:
Dataset used..............: AEDB.CEA 
Outcome analyzed..........: epmajor.3years 
Protein...................: MCP1_plasma_olink_rank 
Effect size...............: 0.616301 
Standard error............: 0.191122 
Odds ratio (effect size)..: 1.852 
Lower 95% CI..............: 1.273 
Upper 95% CI..............: 2.694 
T-value...................: 3.224648 
P-value...................: 0.001261279 
Sample size in model......: 687 
Number of events..........: 128 
* Analyzing the effect of plaque proteins on [epstroke.3years].
 - creating temporary SE for this work.
 - making a 'Surv' object and adding this to temporary dataframe.
 - making strata of each of the plaque proteins and start survival analysis.
   > processing [MCP1_pg_ug_2015_rank]; 1 out of 4 proteins.
   > cross tabulation of MCP1_pg_ug_2015_rank-stratum.

[-3.34102,0.00105) [ 0.00105,3.34102] 
               599                599 

   > fitting the model for MCP1_pg_ug_2015_rank-stratum.

   > make a Kaplan-Meier-shizzle...
Vectorized input to `element_text()` is not officially supported.
Results may be unexpected or may change in future versions of ggplot2.

   > perform the Cox-regression fashizzle and plot it...

Call:
coxph(formula = Surv(TEMP.DF[, eptime], event) ~ TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]] + 
    Age + Gender + ORdate_year, data = TEMP.DF)

  n= 1186, number of events= 73 
   (1237 observations deleted due to missingness)

                                                              coef exp(coef) se(coef)      z Pr(>|z|)   
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00105,3.34102]  0.25410   1.28931  0.24572  1.034  0.30108   
Age                                                        0.03783   1.03856  0.01391  2.721  0.00651 **
Gendermale                                                 0.06641   1.06867  0.25908  0.256  0.79769   
ORdate_year                                               -0.06407   0.93794  0.04088 -1.567  0.11704   
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

                                                          exp(coef) exp(-coef) lower .95 upper .95
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00105,3.34102]    1.2893     0.7756    0.7965     2.087
Age                                                          1.0386     0.9629    1.0106     1.067
Gendermale                                                   1.0687     0.9357    0.6431     1.776
ORdate_year                                                  0.9379     1.0662    0.8657     1.016

Concordance= 0.605  (se = 0.035 )
Likelihood ratio test= 9.61  on 4 df,   p=0.05
Wald test            = 9.21  on 4 df,   p=0.06
Score (logrank) test = 9.29  on 4 df,   p=0.05


   > writing the Cox-regression fashizzle to Excel...
Summarizing Cox regression results for ' MCP1_pg_ug_2015_rank ' and its association to ' epstroke.3years ' in ' AEDB.CEA '.
Collecting data.

We have collected the following:
Dataset used..............: AEDB.CEA 
Outcome analyzed..........: epstroke.3years 
Protein...................: MCP1_pg_ug_2015_rank 
Effect size...............: 0.254104 
Standard error............: 0.24572 
Odds ratio (effect size)..: 1.289 
Lower 95% CI..............: 0.797 
Upper 95% CI..............: 2.087 
T-value...................: 1.03412 
P-value...................: 0.3010799 
Sample size in model......: 1186 
Number of events..........: 73 
   > processing [MCP1_pg_ml_2015_rank]; 2 out of 4 proteins.
   > cross tabulation of MCP1_pg_ml_2015_rank-stratum.

[-3.34125,0.00209) [ 0.00209,3.34125] 
               600                599 

   > fitting the model for MCP1_pg_ml_2015_rank-stratum.

   > make a Kaplan-Meier-shizzle...
Vectorized input to `element_text()` is not officially supported.
Results may be unexpected or may change in future versions of ggplot2.

   > perform the Cox-regression fashizzle and plot it...

Call:
coxph(formula = Surv(TEMP.DF[, eptime], event) ~ TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]] + 
    Age + Gender + ORdate_year, data = TEMP.DF)

  n= 1187, number of events= 74 
   (1236 observations deleted due to missingness)

                                                              coef exp(coef) se(coef)      z Pr(>|z|)   
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00209,3.34125]  0.05159   1.05295  0.25152  0.205  0.83747   
Age                                                        0.03709   1.03779  0.01382  2.684  0.00728 **
Gendermale                                                 0.09193   1.09629  0.26020  0.353  0.72385   
ORdate_year                                               -0.04704   0.95405  0.04159 -1.131  0.25806   
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

                                                          exp(coef) exp(-coef) lower .95 upper .95
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00209,3.34125]     1.053     0.9497    0.6432     1.724
Age                                                           1.038     0.9636    1.0101     1.066
Gendermale                                                    1.096     0.9122    0.6583     1.826
ORdate_year                                                   0.954     1.0482    0.8794     1.035

Concordance= 0.591  (se = 0.035 )
Likelihood ratio test= 8.33  on 4 df,   p=0.08
Wald test            = 7.9  on 4 df,   p=0.1
Score (logrank) test = 7.96  on 4 df,   p=0.09


   > writing the Cox-regression fashizzle to Excel...
Summarizing Cox regression results for ' MCP1_pg_ml_2015_rank ' and its association to ' epstroke.3years ' in ' AEDB.CEA '.
Collecting data.

We have collected the following:
Dataset used..............: AEDB.CEA 
Outcome analyzed..........: epstroke.3years 
Protein...................: MCP1_pg_ml_2015_rank 
Effect size...............: 0.051594 
Standard error............: 0.251515 
Odds ratio (effect size)..: 1.053 
Lower 95% CI..............: 0.643 
Upper 95% CI..............: 1.724 
T-value...................: 0.205134 
P-value...................: 0.8374673 
Sample size in model......: 1187 
Number of events..........: 74 
   > processing [MCP1_rank]; 3 out of 4 proteins.
   > cross tabulation of MCP1_rank-stratum.

[-3.12162,0.00225) [ 0.00225,3.12162] 
               278                278 

   > fitting the model for MCP1_rank-stratum.

   > make a Kaplan-Meier-shizzle...
Vectorized input to `element_text()` is not officially supported.
Results may be unexpected or may change in future versions of ggplot2.

   > perform the Cox-regression fashizzle and plot it...

Call:
coxph(formula = Surv(TEMP.DF[, eptime], event) ~ TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]] + 
    Age + Gender + ORdate_year, data = TEMP.DF)

  n= 549, number of events= 36 
   (1874 observations deleted due to missingness)

                                                               coef exp(coef)  se(coef)      z Pr(>|z|)
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00225,3.12162] -0.366525  0.693139  0.345901 -1.060    0.289
Age                                                        0.007526  1.007554  0.019822  0.380    0.704
Gendermale                                                 0.332937  1.395059  0.403044  0.826    0.409
ORdate_year                                               -0.014799  0.985310  0.157445 -0.094    0.925

                                                          exp(coef) exp(-coef) lower .95 upper .95
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00225,3.12162]    0.6931     1.4427    0.3519     1.365
Age                                                          1.0076     0.9925    0.9692     1.047
Gendermale                                                   1.3951     0.7168    0.6332     3.074
ORdate_year                                                  0.9853     1.0149    0.7237     1.341

Concordance= 0.571  (se = 0.043 )
Likelihood ratio test= 1.96  on 4 df,   p=0.7
Wald test            = 1.92  on 4 df,   p=0.8
Score (logrank) test = 1.93  on 4 df,   p=0.7


   > writing the Cox-regression fashizzle to Excel...
Summarizing Cox regression results for ' MCP1_rank ' and its association to ' epstroke.3years ' in ' AEDB.CEA '.
Collecting data.

We have collected the following:
Dataset used..............: AEDB.CEA 
Outcome analyzed..........: epstroke.3years 
Protein...................: MCP1_rank 
Effect size...............: -0.366525 
Standard error............: 0.345901 
Odds ratio (effect size)..: 0.693 
Lower 95% CI..............: 0.352 
Upper 95% CI..............: 1.365 
T-value...................: -1.059623 
P-value...................: 0.2893161 
Sample size in model......: 549 
Number of events..........: 36 
   > processing [MCP1_plasma_olink_rank]; 4 out of 4 proteins.
   > cross tabulation of MCP1_plasma_olink_rank-stratum.

[-3.18339,0.00365) [ 0.00365,3.18339] 
               344                343 

   > fitting the model for MCP1_plasma_olink_rank-stratum.

   > make a Kaplan-Meier-shizzle...
Vectorized input to `element_text()` is not officially supported.
Results may be unexpected or may change in future versions of ggplot2.

   > perform the Cox-regression fashizzle and plot it...

Call:
coxph(formula = Surv(TEMP.DF[, eptime], event) ~ TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]] + 
    Age + Gender + ORdate_year, data = TEMP.DF)

  n= 687, number of events= 66 
   (1736 observations deleted due to missingness)

                                                              coef exp(coef) se(coef)      z Pr(>|z|)  
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00365,3.18339]  0.47352   1.60563  0.26362  1.796   0.0725 .
Age                                                        0.03652   1.03720  0.01514  2.413   0.0158 *
Gendermale                                                 0.12316   1.13107  0.27805  0.443   0.6578  
ORdate_year                                               -0.03125   0.96923  0.03121 -1.001   0.3166  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

                                                          exp(coef) exp(-coef) lower .95 upper .95
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00365,3.18339]    1.6056     0.6228    0.9578     2.692
Age                                                          1.0372     0.9641    1.0069     1.068
Gendermale                                                   1.1311     0.8841    0.6559     1.951
ORdate_year                                                  0.9692     1.0317    0.9117     1.030

Concordance= 0.626  (se = 0.034 )
Likelihood ratio test= 13.32  on 4 df,   p=0.01
Wald test            = 12.59  on 4 df,   p=0.01
Score (logrank) test = 12.9  on 4 df,   p=0.01


   > writing the Cox-regression fashizzle to Excel...
Summarizing Cox regression results for ' MCP1_plasma_olink_rank ' and its association to ' epstroke.3years ' in ' AEDB.CEA '.
Collecting data.

We have collected the following:
Dataset used..............: AEDB.CEA 
Outcome analyzed..........: epstroke.3years 
Protein...................: MCP1_plasma_olink_rank 
Effect size...............: 0.473519 
Standard error............: 0.263621 
Odds ratio (effect size)..: 1.606 
Lower 95% CI..............: 0.958 
Upper 95% CI..............: 2.692 
T-value...................: 1.796214 
P-value...................: 0.07246048 
Sample size in model......: 687 
Number of events..........: 66 
* Analyzing the effect of plaque proteins on [epcoronary.3years].
 - creating temporary SE for this work.
 - making a 'Surv' object and adding this to temporary dataframe.
 - making strata of each of the plaque proteins and start survival analysis.
   > processing [MCP1_pg_ug_2015_rank]; 1 out of 4 proteins.
   > cross tabulation of MCP1_pg_ug_2015_rank-stratum.

[-3.34102,0.00105) [ 0.00105,3.34102] 
               599                599 

   > fitting the model for MCP1_pg_ug_2015_rank-stratum.

   > make a Kaplan-Meier-shizzle...
Vectorized input to `element_text()` is not officially supported.
Results may be unexpected or may change in future versions of ggplot2.

   > perform the Cox-regression fashizzle and plot it...

Call:
coxph(formula = Surv(TEMP.DF[, eptime], event) ~ TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]] + 
    Age + Gender + ORdate_year, data = TEMP.DF)

  n= 1186, number of events= 91 
   (1237 observations deleted due to missingness)

                                                               coef exp(coef)  se(coef)      z Pr(>|z|)  
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00105,3.34102] -0.098282  0.906394  0.220619 -0.445   0.6560  
Age                                                        0.008967  1.009008  0.012039  0.745   0.4564  
Gendermale                                                 0.669615  1.953485  0.269234  2.487   0.0129 *
ORdate_year                                               -0.040585  0.960228  0.036895 -1.100   0.2713  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

                                                          exp(coef) exp(-coef) lower .95 upper .95
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00105,3.34102]    0.9064     1.1033    0.5882     1.397
Age                                                          1.0090     0.9911    0.9855     1.033
Gendermale                                                   1.9535     0.5119    1.1525     3.311
ORdate_year                                                  0.9602     1.0414    0.8932     1.032

Concordance= 0.59  (se = 0.03 )
Likelihood ratio test= 9.17  on 4 df,   p=0.06
Wald test            = 8.27  on 4 df,   p=0.08
Score (logrank) test = 8.5  on 4 df,   p=0.07


   > writing the Cox-regression fashizzle to Excel...
Summarizing Cox regression results for ' MCP1_pg_ug_2015_rank ' and its association to ' epcoronary.3years ' in ' AEDB.CEA '.
Collecting data.

We have collected the following:
Dataset used..............: AEDB.CEA 
Outcome analyzed..........: epcoronary.3years 
Protein...................: MCP1_pg_ug_2015_rank 
Effect size...............: -0.098282 
Standard error............: 0.220619 
Odds ratio (effect size)..: 0.906 
Lower 95% CI..............: 0.588 
Upper 95% CI..............: 1.397 
T-value...................: -0.445482 
P-value...................: 0.6559715 
Sample size in model......: 1186 
Number of events..........: 91 
   > processing [MCP1_pg_ml_2015_rank]; 2 out of 4 proteins.
   > cross tabulation of MCP1_pg_ml_2015_rank-stratum.

[-3.34125,0.00209) [ 0.00209,3.34125] 
               600                599 

   > fitting the model for MCP1_pg_ml_2015_rank-stratum.

   > make a Kaplan-Meier-shizzle...
Vectorized input to `element_text()` is not officially supported.
Results may be unexpected or may change in future versions of ggplot2.

   > perform the Cox-regression fashizzle and plot it...

Call:
coxph(formula = Surv(TEMP.DF[, eptime], event) ~ TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]] + 
    Age + Gender + ORdate_year, data = TEMP.DF)

  n= 1187, number of events= 91 
   (1236 observations deleted due to missingness)

                                                               coef exp(coef)  se(coef)      z Pr(>|z|)  
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00209,3.34125]  0.172342  1.188084  0.225648  0.764   0.4450  
Age                                                        0.008689  1.008727  0.012048  0.721   0.4708  
Gendermale                                                 0.643664  1.903442  0.270491  2.380   0.0173 *
ORdate_year                                               -0.055903  0.945631  0.037238 -1.501   0.1333  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

                                                          exp(coef) exp(-coef) lower .95 upper .95
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00209,3.34125]    1.1881     0.8417    0.7634     1.849
Age                                                          1.0087     0.9913    0.9852     1.033
Gendermale                                                   1.9034     0.5254    1.1202     3.234
ORdate_year                                                  0.9456     1.0575    0.8791     1.017

Concordance= 0.591  (se = 0.031 )
Likelihood ratio test= 9.57  on 4 df,   p=0.05
Wald test            = 8.73  on 4 df,   p=0.07
Score (logrank) test = 8.95  on 4 df,   p=0.06


   > writing the Cox-regression fashizzle to Excel...
Summarizing Cox regression results for ' MCP1_pg_ml_2015_rank ' and its association to ' epcoronary.3years ' in ' AEDB.CEA '.
Collecting data.

We have collected the following:
Dataset used..............: AEDB.CEA 
Outcome analyzed..........: epcoronary.3years 
Protein...................: MCP1_pg_ml_2015_rank 
Effect size...............: 0.172342 
Standard error............: 0.225648 
Odds ratio (effect size)..: 1.188 
Lower 95% CI..............: 0.763 
Upper 95% CI..............: 1.849 
T-value...................: 0.763763 
P-value...................: 0.4450084 
Sample size in model......: 1187 
Number of events..........: 91 
   > processing [MCP1_rank]; 3 out of 4 proteins.
   > cross tabulation of MCP1_rank-stratum.

[-3.12162,0.00225) [ 0.00225,3.12162] 
               278                278 

   > fitting the model for MCP1_rank-stratum.

   > make a Kaplan-Meier-shizzle...
Vectorized input to `element_text()` is not officially supported.
Results may be unexpected or may change in future versions of ggplot2.

   > perform the Cox-regression fashizzle and plot it...

Call:
coxph(formula = Surv(TEMP.DF[, eptime], event) ~ TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]] + 
    Age + Gender + ORdate_year, data = TEMP.DF)

  n= 549, number of events= 46 
   (1874 observations deleted due to missingness)

                                                              coef exp(coef) se(coef)      z Pr(>|z|)  
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00225,3.12162]  0.24448   1.27695  0.30911  0.791   0.4290  
Age                                                        0.03668   1.03736  0.01872  1.959   0.0501 .
Gendermale                                                 0.92420   2.51986  0.43913  2.105   0.0353 *
ORdate_year                                               -0.23892   0.78748  0.13604 -1.756   0.0790 .
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

                                                          exp(coef) exp(-coef) lower .95 upper .95
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00225,3.12162]    1.2770     0.7831    0.6967     2.340
Age                                                          1.0374     0.9640    1.0000     1.076
Gendermale                                                   2.5199     0.3968    1.0656     5.959
ORdate_year                                                  0.7875     1.2699    0.6032     1.028

Concordance= 0.652  (se = 0.039 )
Likelihood ratio test= 13.98  on 4 df,   p=0.007
Wald test            = 12.67  on 4 df,   p=0.01
Score (logrank) test = 13.17  on 4 df,   p=0.01


   > writing the Cox-regression fashizzle to Excel...
Summarizing Cox regression results for ' MCP1_rank ' and its association to ' epcoronary.3years ' in ' AEDB.CEA '.
Collecting data.

We have collected the following:
Dataset used..............: AEDB.CEA 
Outcome analyzed..........: epcoronary.3years 
Protein...................: MCP1_rank 
Effect size...............: 0.244478 
Standard error............: 0.309109 
Odds ratio (effect size)..: 1.277 
Lower 95% CI..............: 0.697 
Upper 95% CI..............: 2.34 
T-value...................: 0.79091 
P-value...................: 0.4289965 
Sample size in model......: 549 
Number of events..........: 46 
   > processing [MCP1_plasma_olink_rank]; 4 out of 4 proteins.
   > cross tabulation of MCP1_plasma_olink_rank-stratum.

[-3.18339,0.00365) [ 0.00365,3.18339] 
               344                343 

   > fitting the model for MCP1_plasma_olink_rank-stratum.

   > make a Kaplan-Meier-shizzle...
Vectorized input to `element_text()` is not officially supported.
Results may be unexpected or may change in future versions of ggplot2.

   > perform the Cox-regression fashizzle and plot it...

Call:
coxph(formula = Surv(TEMP.DF[, eptime], event) ~ TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]] + 
    Age + Gender + ORdate_year, data = TEMP.DF)

  n= 687, number of events= 75 
   (1736 observations deleted due to missingness)

                                                              coef exp(coef) se(coef)      z Pr(>|z|)  
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00365,3.18339]  0.62072   1.86026  0.24754  2.508   0.0122 *
Age                                                       -0.01376   0.98634  0.01364 -1.008   0.3133  
Gendermale                                                 0.62406   1.86650  0.29102  2.144   0.0320 *
ORdate_year                                               -0.01402   0.98608  0.02874 -0.488   0.6256  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

                                                          exp(coef) exp(-coef) lower .95 upper .95
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00365,3.18339]    1.8603     0.5376    1.1452     3.022
Age                                                          0.9863     1.0139    0.9603     1.013
Gendermale                                                   1.8665     0.5358    1.0551     3.302
ORdate_year                                                  0.9861     1.0141    0.9321     1.043

Concordance= 0.609  (se = 0.031 )
Likelihood ratio test= 12.5  on 4 df,   p=0.01
Wald test            = 11.55  on 4 df,   p=0.02
Score (logrank) test = 11.9  on 4 df,   p=0.02


   > writing the Cox-regression fashizzle to Excel...
Summarizing Cox regression results for ' MCP1_plasma_olink_rank ' and its association to ' epcoronary.3years ' in ' AEDB.CEA '.
Collecting data.

We have collected the following:
Dataset used..............: AEDB.CEA 
Outcome analyzed..........: epcoronary.3years 
Protein...................: MCP1_plasma_olink_rank 
Effect size...............: 0.620717 
Standard error............: 0.247542 
Odds ratio (effect size)..: 1.86 
Lower 95% CI..............: 1.145 
Upper 95% CI..............: 3.022 
T-value...................: 2.507523 
P-value...................: 0.01215806 
Sample size in model......: 687 
Number of events..........: 75 
* Analyzing the effect of plaque proteins on [epcvdeath.3years].
 - creating temporary SE for this work.
 - making a 'Surv' object and adding this to temporary dataframe.
 - making strata of each of the plaque proteins and start survival analysis.
   > processing [MCP1_pg_ug_2015_rank]; 1 out of 4 proteins.
   > cross tabulation of MCP1_pg_ug_2015_rank-stratum.

[-3.34102,0.00105) [ 0.00105,3.34102] 
               599                599 

   > fitting the model for MCP1_pg_ug_2015_rank-stratum.

   > make a Kaplan-Meier-shizzle...
Vectorized input to `element_text()` is not officially supported.
Results may be unexpected or may change in future versions of ggplot2.

   > perform the Cox-regression fashizzle and plot it...

Call:
coxph(formula = Surv(TEMP.DF[, eptime], event) ~ TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]] + 
    Age + Gender + ORdate_year, data = TEMP.DF)

  n= 1186, number of events= 45 
   (1237 observations deleted due to missingness)

                                                              coef exp(coef) se(coef)      z Pr(>|z|)    
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00105,3.34102]  0.02251   1.02276  0.31172  0.072   0.9424    
Age                                                        0.09026   1.09446  0.02010  4.491  7.1e-06 ***
Gendermale                                                 0.89781   2.45423  0.41218  2.178   0.0294 *  
ORdate_year                                               -0.07622   0.92661  0.05281 -1.443   0.1489    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

                                                          exp(coef) exp(-coef) lower .95 upper .95
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00105,3.34102]    1.0228     0.9777    0.5552     1.884
Age                                                          1.0945     0.9137    1.0522     1.138
Gendermale                                                   2.4542     0.4075    1.0941     5.505
ORdate_year                                                  0.9266     1.0792    0.8355     1.028

Concordance= 0.715  (se = 0.039 )
Likelihood ratio test= 28.96  on 4 df,   p=8e-06
Wald test            = 24.48  on 4 df,   p=6e-05
Score (logrank) test = 25.34  on 4 df,   p=4e-05


   > writing the Cox-regression fashizzle to Excel...
Summarizing Cox regression results for ' MCP1_pg_ug_2015_rank ' and its association to ' epcvdeath.3years ' in ' AEDB.CEA '.
Collecting data.

We have collected the following:
Dataset used..............: AEDB.CEA 
Outcome analyzed..........: epcvdeath.3years 
Protein...................: MCP1_pg_ug_2015_rank 
Effect size...............: 0.022505 
Standard error............: 0.311719 
Odds ratio (effect size)..: 1.023 
Lower 95% CI..............: 0.555 
Upper 95% CI..............: 1.884 
T-value...................: 0.072197 
P-value...................: 0.9424454 
Sample size in model......: 1186 
Number of events..........: 45 
   > processing [MCP1_pg_ml_2015_rank]; 2 out of 4 proteins.
   > cross tabulation of MCP1_pg_ml_2015_rank-stratum.

[-3.34125,0.00209) [ 0.00209,3.34125] 
               600                599 

   > fitting the model for MCP1_pg_ml_2015_rank-stratum.

   > make a Kaplan-Meier-shizzle...
Vectorized input to `element_text()` is not officially supported.
Results may be unexpected or may change in future versions of ggplot2.

   > perform the Cox-regression fashizzle and plot it...

Call:
coxph(formula = Surv(TEMP.DF[, eptime], event) ~ TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]] + 
    Age + Gender + ORdate_year, data = TEMP.DF)

  n= 1187, number of events= 45 
   (1236 observations deleted due to missingness)

                                                              coef exp(coef) se(coef)      z Pr(>|z|)    
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00209,3.34125] -0.11518   0.89120  0.32234 -0.357   0.7208    
Age                                                        0.09047   1.09469  0.02008  4.505 6.63e-06 ***
Gendermale                                                 0.91435   2.49514  0.41402  2.208   0.0272 *  
ORdate_year                                               -0.06875   0.93356  0.05424 -1.267   0.2050    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

                                                          exp(coef) exp(-coef) lower .95 upper .95
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00209,3.34125]    0.8912     1.1221    0.4738     1.676
Age                                                          1.0947     0.9135    1.0524     1.139
Gendermale                                                   2.4951     0.4008    1.1084     5.617
ORdate_year                                                  0.9336     1.0712    0.8394     1.038

Concordance= 0.716  (se = 0.039 )
Likelihood ratio test= 29.09  on 4 df,   p=7e-06
Wald test            = 24.68  on 4 df,   p=6e-05
Score (logrank) test = 25.41  on 4 df,   p=4e-05


   > writing the Cox-regression fashizzle to Excel...
Summarizing Cox regression results for ' MCP1_pg_ml_2015_rank ' and its association to ' epcvdeath.3years ' in ' AEDB.CEA '.
Collecting data.

We have collected the following:
Dataset used..............: AEDB.CEA 
Outcome analyzed..........: epcvdeath.3years 
Protein...................: MCP1_pg_ml_2015_rank 
Effect size...............: -0.115182 
Standard error............: 0.322341 
Odds ratio (effect size)..: 0.891 
Lower 95% CI..............: 0.474 
Upper 95% CI..............: 1.676 
T-value...................: -0.357328 
P-value...................: 0.7208462 
Sample size in model......: 1187 
Number of events..........: 45 
   > processing [MCP1_rank]; 3 out of 4 proteins.
   > cross tabulation of MCP1_rank-stratum.

[-3.12162,0.00225) [ 0.00225,3.12162] 
               278                278 

   > fitting the model for MCP1_rank-stratum.

   > make a Kaplan-Meier-shizzle...
Vectorized input to `element_text()` is not officially supported.
Results may be unexpected or may change in future versions of ggplot2.

   > perform the Cox-regression fashizzle and plot it...

Call:
coxph(formula = Surv(TEMP.DF[, eptime], event) ~ TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]] + 
    Age + Gender + ORdate_year, data = TEMP.DF)

  n= 549, number of events= 26 
   (1874 observations deleted due to missingness)

                                                              coef exp(coef) se(coef)      z Pr(>|z|)  
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00225,3.12162] -0.03367   0.96689  0.40417 -0.083   0.9336  
Age                                                        0.05571   1.05729  0.02549  2.185   0.0289 *
Gendermale                                                 1.05290   2.86594  0.61477  1.713   0.0868 .
ORdate_year                                               -0.11039   0.89548  0.18082 -0.611   0.5415  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

                                                          exp(coef) exp(-coef) lower .95 upper .95
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00225,3.12162]    0.9669     1.0342    0.4379     2.135
Age                                                          1.0573     0.9458    1.0058     1.111
Gendermale                                                   2.8659     0.3489    0.8590     9.562
ORdate_year                                                  0.8955     1.1167    0.6283     1.276

Concordance= 0.679  (se = 0.06 )
Likelihood ratio test= 9.52  on 4 df,   p=0.05
Wald test            = 8.25  on 4 df,   p=0.08
Score (logrank) test = 8.62  on 4 df,   p=0.07


   > writing the Cox-regression fashizzle to Excel...
Summarizing Cox regression results for ' MCP1_rank ' and its association to ' epcvdeath.3years ' in ' AEDB.CEA '.
Collecting data.

We have collected the following:
Dataset used..............: AEDB.CEA 
Outcome analyzed..........: epcvdeath.3years 
Protein...................: MCP1_rank 
Effect size...............: -0.03367 
Standard error............: 0.40417 
Odds ratio (effect size)..: 0.967 
Lower 95% CI..............: 0.438 
Upper 95% CI..............: 2.135 
T-value...................: -0.083308 
P-value...................: 0.9336068 
Sample size in model......: 549 
Number of events..........: 26 
   > processing [MCP1_plasma_olink_rank]; 4 out of 4 proteins.
   > cross tabulation of MCP1_plasma_olink_rank-stratum.

[-3.18339,0.00365) [ 0.00365,3.18339] 
               344                343 

   > fitting the model for MCP1_plasma_olink_rank-stratum.

   > make a Kaplan-Meier-shizzle...
Vectorized input to `element_text()` is not officially supported.
Results may be unexpected or may change in future versions of ggplot2.

   > perform the Cox-regression fashizzle and plot it...

Call:
coxph(formula = Surv(TEMP.DF[, eptime], event) ~ TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]] + 
    Age + Gender + ORdate_year, data = TEMP.DF)

  n= 687, number of events= 41 
   (1736 observations deleted due to missingness)

                                                              coef exp(coef) se(coef)      z Pr(>|z|)  
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00365,3.18339]  0.39977   1.49148  0.33404  1.197   0.2314  
Age                                                        0.03938   1.04016  0.01963  2.006   0.0448 *
Gendermale                                                 0.41045   1.50750  0.37925  1.082   0.2791  
ORdate_year                                               -0.07220   0.93034  0.04054 -1.781   0.0749 .
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

                                                          exp(coef) exp(-coef) lower .95 upper .95
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00365,3.18339]    1.4915     0.6705    0.7750     2.870
Age                                                          1.0402     0.9614    1.0009     1.081
Gendermale                                                   1.5075     0.6633    0.7169     3.170
ORdate_year                                                  0.9303     1.0749    0.8593     1.007

Concordance= 0.644  (se = 0.043 )
Likelihood ratio test= 11.82  on 4 df,   p=0.02
Wald test            = 11.07  on 4 df,   p=0.03
Score (logrank) test = 11.39  on 4 df,   p=0.02


   > writing the Cox-regression fashizzle to Excel...
Summarizing Cox regression results for ' MCP1_plasma_olink_rank ' and its association to ' epcvdeath.3years ' in ' AEDB.CEA '.
Collecting data.

We have collected the following:
Dataset used..............: AEDB.CEA 
Outcome analyzed..........: epcvdeath.3years 
Protein...................: MCP1_plasma_olink_rank 
Effect size...............: 0.399768 
Standard error............: 0.334037 
Odds ratio (effect size)..: 1.491 
Lower 95% CI..............: 0.775 
Upper 95% CI..............: 2.87 
T-value...................: 1.196777 
P-value...................: 0.2313933 
Sample size in model......: 687 
Number of events..........: 41 

cat("- Edit the column names...\n")
- Edit the column names...
colnames(COX.results) = c("Dataset", "Outcome", "CpG",
                          "Beta", "s.e.m.",
                          "HR", "low95CI", "up95CI",
                          "Z-value", "P-value", "SampleSize", "N_events")

cat("- Correct the variable types...\n")
- Correct the variable types...
COX.results$Beta <- as.numeric(COX.results$Beta)
COX.results$s.e.m. <- as.numeric(COX.results$s.e.m.)
COX.results$HR <- as.numeric(COX.results$HR)
COX.results$low95CI <- as.numeric(COX.results$low95CI)
COX.results$up95CI <- as.numeric(COX.results$up95CI)
COX.results$`Z-value` <- as.numeric(COX.results$`Z-value`)
COX.results$`P-value` <- as.numeric(COX.results$`P-value`)
COX.results$SampleSize <- as.numeric(COX.results$SampleSize)
COX.results$N_events <- as.numeric(COX.results$N_events)

AEDB.CEA.COX.results <- COX.results

# Save the data
cat("- Writing results to Excel-file...\n")
- Writing results to Excel-file...
head.style <- createStyle(textDecoration = "BOLD")
write.xlsx(AEDB.CEA.COX.results,
           file = paste0(OUT_loc, "/",Today,".AEDB.CEA.Cox.2G.MODEL1.xlsx"),
           creator = "Sander W. van der Laan",
           sheetName = "Results", headerStyle = head.style,
           row.names = FALSE, col.names = TRUE, overwrite = TRUE)

# Removing intermediates
cat("- Removing intermediate files...\n")
- Removing intermediate files...
#rm(TEMP.DF, protein, fit, cox, coxplot, COX.results, COX.results.TEMP, head.style, AEDB.CEA.COX.results)

#rm(head.style)

MODEL 2

# Set up a dataframe to receive results
COX.results <- data.frame(matrix(NA, ncol = 12, nrow = 0))

# Looping over each protein/endpoint/time combination
for (i in 1:length(times)){
  eptime = times[i]
  ep = endpoints[i]
  cat(paste0("* Analyzing the effect of plaque proteins on [",ep,"].\n"))
  cat(" - creating temporary SE for this work.\n")
  TEMP.DF = as.data.frame(AEDB.CEA)
  cat(" - making a 'Surv' object and adding this to temporary dataframe.\n")
  TEMP.DF$event <- as.integer(TEMP.DF[,ep])
  #as.integer(TEMP.DF[,ep] == "Excluded")

  TEMP.DF$y <- Surv(time = TEMP.DF[,eptime], event = TEMP.DF$event)
  cat(" - making strata of each of the plaque proteins and start survival analysis.\n")
  
  for (protein in 1:length(TRAITS.PROTEIN.RANK)){
    cat(paste0("   > processing [",TRAITS.PROTEIN.RANK[protein],"]; ",protein," out of ",length(TRAITS.PROTEIN.RANK)," proteins.\n"))
    # splitting into two groups
    TEMP.DF[[ TRAITS.PROTEIN.RANK[protein] ]] <- cut2(TEMP.DF[,TRAITS.PROTEIN.RANK[protein]], g = 2)
    cat(paste0("   > cross tabulation of ",TRAITS.PROTEIN.RANK[protein],"-stratum.\n"))
    show(table(TEMP.DF[[ TRAITS.PROTEIN.RANK[protein] ]]))
    
    cat(paste0("\n   > fitting the model for ",TRAITS.PROTEIN.RANK[protein],"-stratum.\n"))
    fit <- survfit(as.formula(paste0("y ~ ", TRAITS.PROTEIN.RANK[protein])), data = TEMP.DF)
    
    cat(paste0("\n   > make a Kaplan-Meier-shizzle...\n"))
    # make Kaplan-Meier curve and save it
    show(ggsurvplot(fit, data = TEMP.DF,
                    palette = c("#DB003F", "#1290D9"),
                    # palete = c("F59D10", "#DB003F", "#49A01D", "#1290D9"),
                    linetype = c(1,2),
                    # linetype = c(1,2,3,4),
                    # conf.int = FALSE, conf.int.fill = "#595A5C", conf.int.alpha = 0.1,
                    pval = FALSE, pval.method = FALSE, pval.size = 4,
                    risk.table = TRUE, risk.table.y.text = FALSE, tables.y.text.col = TRUE, fontsize = 4,
                    censor = FALSE,
                    legend = "right",
                    legend.title = paste0("",TRAITS.PROTEIN.RANK[protein],""),
                    legend.labs = c("low", "high"),
                    title = paste0("Risk of ",ep,""), xlab = "Time [years]", font.main = c(16, "bold", "black")))
    dev.copy2pdf(file = paste0(COX_loc,"/",
                               Today,".AEDB.CEA.survival.",ep,".2G.",
                               TRAITS.PROTEIN.RANK[protein],".pdf"), width = 12, height = 10, onefile = FALSE)

    cat(paste0("\n   > perform the Cox-regression fashizzle and plot it...\n"))
    ### Do Cox-regression and plot it
    
    ### MODEL 2 adjusted for age, sex, hypertension, diabetes, smoking, LDL-C levels, lipid-lowering drugs, antiplatelet drugs, eGFR, BMI, history of CVD, level of stenosis
    cox = coxph(Surv(TEMP.DF[,eptime], event) ~ TEMP.DF[[ TRAITS.PROTEIN.RANK[protein] ]]+Age + Gender + ORdate_year + Hypertension.composite + DiabetesStatus + SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + BMI + MedHx_CVD + stenose, data = TEMP.DF)
    coxplot = coxph(Surv(TEMP.DF[,eptime], event) ~ strata(TEMP.DF[[ TRAITS.PROTEIN.RANK[protein] ]])+Age + Gender + ORdate_year + Hypertension.composite + DiabetesStatus + SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + BMI + MedHx_CVD + stenose, data = TEMP.DF)

  
    plot(survfit(coxplot), main = paste0("Cox proportional hazard of [",ep,"] per [",eptime,"]."),
         # ylim = c(0.2, 1), xlim = c(0,3), col = c("#595A5C", "#DB003F", "#1290D9"),
         ylim = c(0, 1), xlim = c(0,3), col = c("#DB003F", "#1290D9"),
         lty = c(1,2), lwd = 2,
         ylab = "Suvival probability", xlab = "FU time [years]",
         mark.time = FALSE, axes = FALSE, bty = "n")
    legend("topright",
           c("low", "high"),
           title = paste0("",TRAITS.PROTEIN.RANK[protein],""),
           col = c("#DB003F", "#1290D9"),
           lty = c(1,2), lwd = 2,
           bty = "n")
    axis(side = 1, at = seq(0, 3, by = 1))
    axis(side = 2, at = seq(0, 1, by = 0.2))
    dev.copy2pdf(file = paste0(COX_loc,"/",
                               Today,".AEDB.CEA.Cox.",ep,".2G.",
                               # Today,".AEDB.CEA.Cox.",ep,".4G.",
                               TRAITS.PROTEIN.RANK[protein],".MODEL2.pdf"), height = 12, width = 10, onefile = TRUE)

    show(summary(cox))

    cat(paste0("\n   > writing the Cox-regression fashizzle to Excel...\n"))

    COX.results.TEMP <- data.frame(matrix(NA, ncol = 12, nrow = 0))
    COX.results.TEMP[1,] = COX.STAT(cox, "AEDB.CEA", ep, TRAITS.PROTEIN.RANK[protein])
    COX.results = rbind(COX.results, COX.results.TEMP)

  }
}
* Analyzing the effect of plaque proteins on [epmajor.3years].
 - creating temporary SE for this work.
 - making a 'Surv' object and adding this to temporary dataframe.
 - making strata of each of the plaque proteins and start survival analysis.
   > processing [MCP1_pg_ug_2015_rank]; 1 out of 4 proteins.
   > cross tabulation of MCP1_pg_ug_2015_rank-stratum.

[-3.34102,0.00105) [ 0.00105,3.34102] 
               599                599 

   > fitting the model for MCP1_pg_ug_2015_rank-stratum.

   > make a Kaplan-Meier-shizzle...
Vectorized input to `element_text()` is not officially supported.
Results may be unexpected or may change in future versions of ggplot2.

   > perform the Cox-regression fashizzle and plot it...

Call:
coxph(formula = Surv(TEMP.DF[, eptime], event) ~ TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]] + 
    Age + Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = TEMP.DF)

  n= 1029, number of events= 115 
   (1394 observations deleted due to missingness)

                                                                coef  exp(coef)   se(coef)      z Pr(>|z|)    
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00105,3.34102]  1.541e-01  1.167e+00  1.963e-01  0.785  0.43241    
Age                                                        3.334e-02  1.034e+00  1.294e-02  2.577  0.00997 ** 
Gendermale                                                 3.772e-01  1.458e+00  2.281e-01  1.654  0.09816 .  
ORdate_year                                               -1.256e-02  9.875e-01  3.425e-02 -0.367  0.71375    
Hypertension.compositeno                                  -4.222e-01  6.556e-01  3.564e-01 -1.185  0.23617    
Hypertension.compositeyes                                         NA         NA  0.000e+00     NA       NA    
DiabetesStatusDiabetes                                    -9.907e-03  9.901e-01  2.237e-01 -0.044  0.96468    
SmokerStatusEx-smoker                                     -4.967e-01  6.085e-01  2.095e-01 -2.371  0.01773 *  
SmokerStatusNever smoked                                  -8.052e-01  4.470e-01  3.417e-01 -2.356  0.01845 *  
Med.Statin.LLDno                                           2.495e-01  1.283e+00  2.180e-01  1.144  0.25260    
Med.Statin.LLDyes                                                 NA         NA  0.000e+00     NA       NA    
Med.all.antiplateletno                                     4.296e-01  1.537e+00  2.636e-01  1.630  0.10313    
Med.all.antiplateletyes                                           NA         NA  0.000e+00     NA       NA    
GFR_MDRD                                                  -1.947e-02  9.807e-01  4.957e-03 -3.927 8.59e-05 ***
BMI                                                        5.386e-02  1.055e+00  2.618e-02  2.057  0.03966 *  
MedHx_CVDyes                                               5.346e-01  1.707e+00  2.220e-01  2.408  0.01603 *  
stenose0-49%                                              -1.565e+01  1.589e-07  2.454e+03 -0.006  0.99491    
stenose50-70%                                             -8.707e-01  4.186e-01  8.779e-01 -0.992  0.32127    
stenose70-90%                                             -3.015e-01  7.397e-01  7.471e-01 -0.404  0.68656    
stenose90-99%                                             -2.842e-01  7.526e-01  7.560e-01 -0.376  0.70696    
stenose100% (Occlusion)                                   -1.022e-01  9.028e-01  1.255e+00 -0.081  0.93505    
stenoseNA                                                         NA         NA  0.000e+00     NA       NA    
stenose50-99%                                             -1.530e+01  2.270e-07  2.929e+03 -0.005  0.99583    
stenose70-99%                                                     NA         NA  0.000e+00     NA       NA    
stenose99                                                         NA         NA  0.000e+00     NA       NA    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

                                                          exp(coef) exp(-coef) lower .95 upper .95
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00105,3.34102] 1.167e+00  8.572e-01   0.79401    1.7142
Age                                                       1.034e+00  9.672e-01   1.00801    1.0605
Gendermale                                                1.458e+00  6.858e-01   0.93255    2.2803
ORdate_year                                               9.875e-01  1.013e+00   0.92340    1.0561
Hypertension.compositeno                                  6.556e-01  1.525e+00   0.32605    1.3183
Hypertension.compositeyes                                        NA         NA        NA        NA
DiabetesStatusDiabetes                                    9.901e-01  1.010e+00   0.63865    1.5351
SmokerStatusEx-smoker                                     6.085e-01  1.643e+00   0.40359    0.9175
SmokerStatusNever smoked                                  4.470e-01  2.237e+00   0.22880    0.8733
Med.Statin.LLDno                                          1.283e+00  7.792e-01   0.83702    1.9676
Med.Statin.LLDyes                                                NA         NA        NA        NA
Med.all.antiplateletno                                    1.537e+00  6.508e-01   0.91667    2.5759
Med.all.antiplateletyes                                          NA         NA        NA        NA
GFR_MDRD                                                  9.807e-01  1.020e+00   0.97124    0.9903
BMI                                                       1.055e+00  9.476e-01   1.00255    1.1109
MedHx_CVDyes                                              1.707e+00  5.859e-01   1.10466    2.6373
stenose0-49%                                              1.589e-07  6.292e+06   0.00000       Inf
stenose50-70%                                             4.186e-01  2.389e+00   0.07492    2.3394
stenose70-90%                                             7.397e-01  1.352e+00   0.17107    3.1987
stenose90-99%                                             7.526e-01  1.329e+00   0.17103    3.3119
stenose100% (Occlusion)                                   9.028e-01  1.108e+00   0.07721   10.5562
stenoseNA                                                        NA         NA        NA        NA
stenose50-99%                                             2.270e-07  4.406e+06   0.00000       Inf
stenose70-99%                                                    NA         NA        NA        NA
stenose99                                                        NA         NA        NA        NA

Concordance= 0.698  (se = 0.023 )
Likelihood ratio test= 64.02  on 19 df,   p=9e-07
Wald test            = 59.22  on 19 df,   p=5e-06
Score (logrank) test = 62.55  on 19 df,   p=2e-06


   > writing the Cox-regression fashizzle to Excel...
Summarizing Cox regression results for ' MCP1_pg_ug_2015_rank ' and its association to ' epmajor.3years ' in ' AEDB.CEA '.
Collecting data.

We have collected the following:
Dataset used..............: AEDB.CEA 
Outcome analyzed..........: epmajor.3years 
Protein...................: MCP1_pg_ug_2015_rank 
Effect size...............: 0.154129 
Standard error............: 0.196327 
Odds ratio (effect size)..: 1.167 
Lower 95% CI..............: 0.794 
Upper 95% CI..............: 1.714 
T-value...................: 0.785066 
P-value...................: 0.4324148 
Sample size in model......: 1029 
Number of events..........: 115 
   > processing [MCP1_pg_ml_2015_rank]; 2 out of 4 proteins.
   > cross tabulation of MCP1_pg_ml_2015_rank-stratum.

[-3.34125,0.00209) [ 0.00209,3.34125] 
               600                599 

   > fitting the model for MCP1_pg_ml_2015_rank-stratum.

   > make a Kaplan-Meier-shizzle...
Vectorized input to `element_text()` is not officially supported.
Results may be unexpected or may change in future versions of ggplot2.

   > perform the Cox-regression fashizzle and plot it...

Call:
coxph(formula = Surv(TEMP.DF[, eptime], event) ~ TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]] + 
    Age + Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = TEMP.DF)

  n= 1029, number of events= 115 
   (1394 observations deleted due to missingness)

                                                                coef  exp(coef)   se(coef)      z Pr(>|z|)    
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00209,3.34125]  1.291e-01  1.138e+00  2.002e-01  0.645 0.518966    
Age                                                        3.304e-02  1.034e+00  1.293e-02  2.556 0.010591 *  
Gendermale                                                 3.709e-01  1.449e+00  2.288e-01  1.621 0.105078    
ORdate_year                                               -1.222e-02  9.879e-01  3.470e-02 -0.352 0.724616    
Hypertension.compositeno                                  -4.257e-01  6.533e-01  3.572e-01 -1.192 0.233306    
Hypertension.compositeyes                                         NA         NA  0.000e+00     NA       NA    
DiabetesStatusDiabetes                                    -1.766e-02  9.825e-01  2.237e-01 -0.079 0.937094    
SmokerStatusEx-smoker                                     -5.003e-01  6.063e-01  2.096e-01 -2.387 0.016973 *  
SmokerStatusNever smoked                                  -8.121e-01  4.439e-01  3.418e-01 -2.376 0.017500 *  
Med.Statin.LLDno                                           2.512e-01  1.286e+00  2.183e-01  1.151 0.249766    
Med.Statin.LLDyes                                                 NA         NA  0.000e+00     NA       NA    
Med.all.antiplateletno                                     4.271e-01  1.533e+00  2.637e-01  1.620 0.105327    
Med.all.antiplateletyes                                           NA         NA  0.000e+00     NA       NA    
GFR_MDRD                                                  -1.926e-02  9.809e-01  4.962e-03 -3.880 0.000104 ***
BMI                                                        5.407e-02  1.056e+00  2.610e-02  2.071 0.038324 *  
MedHx_CVDyes                                               5.365e-01  1.710e+00  2.221e-01  2.416 0.015694 *  
stenose0-49%                                              -1.571e+01  1.504e-07  2.447e+03 -0.006 0.994877    
stenose50-70%                                             -8.674e-01  4.200e-01  8.780e-01 -0.988 0.323168    
stenose70-90%                                             -3.100e-01  7.334e-01  7.471e-01 -0.415 0.678201    
stenose90-99%                                             -2.933e-01  7.458e-01  7.560e-01 -0.388 0.698046    
stenose100% (Occlusion)                                   -1.521e-01  8.589e-01  1.253e+00 -0.121 0.903378    
stenoseNA                                                         NA         NA  0.000e+00     NA       NA    
stenose50-99%                                             -1.531e+01  2.252e-07  2.926e+03 -0.005 0.995826    
stenose70-99%                                                     NA         NA  0.000e+00     NA       NA    
stenose99                                                         NA         NA  0.000e+00     NA       NA    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

                                                          exp(coef) exp(-coef) lower .95 upper .95
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00209,3.34125] 1.138e+00  8.789e-01   0.76852    1.6846
Age                                                       1.034e+00  9.675e-01   1.00773    1.0601
Gendermale                                                1.449e+00  6.901e-01   0.92531    2.2690
ORdate_year                                               9.879e-01  1.012e+00   0.92291    1.0574
Hypertension.compositeno                                  6.533e-01  1.531e+00   0.32438    1.3157
Hypertension.compositeyes                                        NA         NA        NA        NA
DiabetesStatusDiabetes                                    9.825e-01  1.018e+00   0.63374    1.5232
SmokerStatusEx-smoker                                     6.063e-01  1.649e+00   0.40210    0.9143
SmokerStatusNever smoked                                  4.439e-01  2.253e+00   0.22718    0.8674
Med.Statin.LLDno                                          1.286e+00  7.779e-01   0.83813    1.9719
Med.Statin.LLDyes                                                NA         NA        NA        NA
Med.all.antiplateletno                                    1.533e+00  6.524e-01   0.91414    2.5702
Med.all.antiplateletyes                                          NA         NA        NA        NA
GFR_MDRD                                                  9.809e-01  1.019e+00   0.97143    0.9905
BMI                                                       1.056e+00  9.474e-01   1.00291    1.1110
MedHx_CVDyes                                              1.710e+00  5.848e-01   1.10656    2.6424
stenose0-49%                                              1.504e-07  6.648e+06   0.00000       Inf
stenose50-70%                                             4.200e-01  2.381e+00   0.07515    2.3477
stenose70-90%                                             7.334e-01  1.363e+00   0.16959    3.1720
stenose90-99%                                             7.458e-01  1.341e+00   0.16947    3.2821
stenose100% (Occlusion)                                   8.589e-01  1.164e+00   0.07373   10.0065
stenoseNA                                                        NA         NA        NA        NA
stenose50-99%                                             2.252e-07  4.441e+06   0.00000       Inf
stenose70-99%                                                    NA         NA        NA        NA
stenose99                                                        NA         NA        NA        NA

Concordance= 0.698  (se = 0.023 )
Likelihood ratio test= 63.82  on 19 df,   p=9e-07
Wald test            = 58.85  on 19 df,   p=6e-06
Score (logrank) test = 62.26  on 19 df,   p=2e-06


   > writing the Cox-regression fashizzle to Excel...
Summarizing Cox regression results for ' MCP1_pg_ml_2015_rank ' and its association to ' epmajor.3years ' in ' AEDB.CEA '.
Collecting data.

We have collected the following:
Dataset used..............: AEDB.CEA 
Outcome analyzed..........: epmajor.3years 
Protein...................: MCP1_pg_ml_2015_rank 
Effect size...............: 0.129126 
Standard error............: 0.200214 
Odds ratio (effect size)..: 1.138 
Lower 95% CI..............: 0.769 
Upper 95% CI..............: 1.685 
T-value...................: 0.64494 
P-value...................: 0.5189661 
Sample size in model......: 1029 
Number of events..........: 115 
   > processing [MCP1_rank]; 3 out of 4 proteins.
   > cross tabulation of MCP1_rank-stratum.

[-3.12162,0.00225) [ 0.00225,3.12162] 
               278                278 

   > fitting the model for MCP1_rank-stratum.

   > make a Kaplan-Meier-shizzle...
Vectorized input to `element_text()` is not officially supported.
Results may be unexpected or may change in future versions of ggplot2.

   > perform the Cox-regression fashizzle and plot it...

Call:
coxph(formula = Surv(TEMP.DF[, eptime], event) ~ TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]] + 
    Age + Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = TEMP.DF)

  n= 493, number of events= 61 
   (1930 observations deleted due to missingness)

                                                                coef  exp(coef)   se(coef)      z Pr(>|z|)  
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00225,3.12162] -3.920e-01  6.757e-01  2.685e-01 -1.460   0.1443  
Age                                                        3.117e-02  1.032e+00  1.813e-02  1.719   0.0857 .
Gendermale                                                 8.127e-01  2.254e+00  3.652e-01  2.226   0.0260 *
ORdate_year                                               -3.205e-02  9.685e-01  1.249e-01 -0.257   0.7975  
Hypertension.compositeno                                  -7.542e-01  4.704e-01  5.309e-01 -1.421   0.1555  
Hypertension.compositeyes                                         NA         NA  0.000e+00     NA       NA  
DiabetesStatusDiabetes                                     6.309e-01  1.879e+00  2.951e-01  2.138   0.0325 *
SmokerStatusEx-smoker                                     -6.391e-01  5.278e-01  2.880e-01 -2.219   0.0265 *
SmokerStatusNever smoked                                  -3.224e-01  7.244e-01  4.307e-01 -0.748   0.4542  
Med.Statin.LLDno                                           2.275e-01  1.255e+00  2.962e-01  0.768   0.4426  
Med.Statin.LLDyes                                                 NA         NA  0.000e+00     NA       NA  
Med.all.antiplateletno                                    -1.296e-02  9.871e-01  4.530e-01 -0.029   0.9772  
Med.all.antiplateletyes                                           NA         NA  0.000e+00     NA       NA  
GFR_MDRD                                                  -1.091e-02  9.891e-01  6.796e-03 -1.606   0.1083  
BMI                                                        5.177e-03  1.005e+00  3.447e-02  0.150   0.8806  
MedHx_CVDyes                                               5.574e-01  1.746e+00  3.075e-01  1.813   0.0699 .
stenose0-49%                                              -1.651e+01  6.744e-08  3.444e+03 -0.005   0.9962  
stenose50-70%                                             -1.690e+00  1.845e-01  1.448e+00 -1.167   0.2431  
stenose70-90%                                             -7.523e-01  4.713e-01  1.049e+00 -0.717   0.4731  
stenose90-99%                                             -1.050e+00  3.501e-01  1.055e+00 -0.995   0.3198  
stenose100% (Occlusion)                                           NA         NA  0.000e+00     NA       NA  
stenoseNA                                                         NA         NA  0.000e+00     NA       NA  
stenose50-99%                                                     NA         NA  0.000e+00     NA       NA  
stenose70-99%                                                     NA         NA  0.000e+00     NA       NA  
stenose99                                                         NA         NA  0.000e+00     NA       NA  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

                                                          exp(coef) exp(-coef) lower .95 upper .95
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00225,3.12162] 6.757e-01  1.480e+00   0.39920     1.144
Age                                                       1.032e+00  9.693e-01   0.99563     1.069
Gendermale                                                2.254e+00  4.436e-01   1.10189     4.611
ORdate_year                                               9.685e-01  1.033e+00   0.75814     1.237
Hypertension.compositeno                                  4.704e-01  2.126e+00   0.16617     1.332
Hypertension.compositeyes                                        NA         NA        NA        NA
DiabetesStatusDiabetes                                    1.879e+00  5.321e-01   1.05394     3.351
SmokerStatusEx-smoker                                     5.278e-01  1.895e+00   0.30015     0.928
SmokerStatusNever smoked                                  7.244e-01  1.380e+00   0.31142     1.685
Med.Statin.LLDno                                          1.255e+00  7.965e-01   0.70247     2.244
Med.Statin.LLDyes                                                NA         NA        NA        NA
Med.all.antiplateletno                                    9.871e-01  1.013e+00   0.40623     2.399
Med.all.antiplateletyes                                          NA         NA        NA        NA
GFR_MDRD                                                  9.891e-01  1.011e+00   0.97606     1.002
BMI                                                       1.005e+00  9.948e-01   0.93952     1.075
MedHx_CVDyes                                              1.746e+00  5.727e-01   0.95573     3.190
stenose0-49%                                              6.744e-08  1.483e+07   0.00000       Inf
stenose50-70%                                             1.845e-01  5.420e+00   0.01080     3.151
stenose70-90%                                             4.713e-01  2.122e+00   0.06036     3.679
stenose90-99%                                             3.501e-01  2.857e+00   0.04426     2.768
stenose100% (Occlusion)                                          NA         NA        NA        NA
stenoseNA                                                        NA         NA        NA        NA
stenose50-99%                                                    NA         NA        NA        NA
stenose70-99%                                                    NA         NA        NA        NA
stenose99                                                        NA         NA        NA        NA

Concordance= 0.703  (se = 0.03 )
Likelihood ratio test= 32.87  on 17 df,   p=0.01
Wald test            = 29.3  on 17 df,   p=0.03
Score (logrank) test = 31.16  on 17 df,   p=0.02


   > writing the Cox-regression fashizzle to Excel...
Summarizing Cox regression results for ' MCP1_rank ' and its association to ' epmajor.3years ' in ' AEDB.CEA '.
Collecting data.

We have collected the following:
Dataset used..............: AEDB.CEA 
Outcome analyzed..........: epmajor.3years 
Protein...................: MCP1_rank 
Effect size...............: -0.392011 
Standard error............: 0.268514 
Odds ratio (effect size)..: 0.676 
Lower 95% CI..............: 0.399 
Upper 95% CI..............: 1.144 
T-value...................: -1.459925 
P-value...................: 0.1443106 
Sample size in model......: 493 
Number of events..........: 61 
   > processing [MCP1_plasma_olink_rank]; 4 out of 4 proteins.
   > cross tabulation of MCP1_plasma_olink_rank-stratum.

[-3.18339,0.00365) [ 0.00365,3.18339] 
               344                343 

   > fitting the model for MCP1_plasma_olink_rank-stratum.

   > make a Kaplan-Meier-shizzle...
Vectorized input to `element_text()` is not officially supported.
Results may be unexpected or may change in future versions of ggplot2.

   > perform the Cox-regression fashizzle and plot it...

Call:
coxph(formula = Surv(TEMP.DF[, eptime], event) ~ TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]] + 
    Age + Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = TEMP.DF)

  n= 586, number of events= 107 
   (1837 observations deleted due to missingness)

                                                                coef  exp(coef)   se(coef)      z Pr(>|z|)    
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00365,3.18339]  4.555e-01  1.577e+00  2.222e-01  2.050 0.040379 *  
Age                                                        2.023e-02  1.020e+00  1.407e-02  1.438 0.150402    
Gendermale                                                 3.873e-01  1.473e+00  2.331e-01  1.662 0.096557 .  
ORdate_year                                               -3.093e-02  9.695e-01  2.649e-02 -1.168 0.242935    
Hypertension.compositeno                                   5.456e-02  1.056e+00  2.902e-01  0.188 0.850886    
Hypertension.compositeyes                                         NA         NA  0.000e+00     NA       NA    
DiabetesStatusDiabetes                                     4.562e-01  1.578e+00  2.232e-01  2.044 0.040949 *  
SmokerStatusEx-smoker                                     -2.980e-01  7.423e-01  2.239e-01 -1.331 0.183147    
SmokerStatusNever smoked                                  -2.965e-01  7.434e-01  3.343e-01 -0.887 0.375021    
Med.Statin.LLDno                                           2.302e-01  1.259e+00  2.351e-01  0.979 0.327500    
Med.Statin.LLDyes                                                 NA         NA  0.000e+00     NA       NA    
Med.all.antiplateletno                                     2.430e-02  1.025e+00  2.848e-01  0.085 0.932005    
Med.all.antiplateletyes                                           NA         NA  0.000e+00     NA       NA    
GFR_MDRD                                                  -1.100e-02  9.891e-01  5.660e-03 -1.943 0.051966 .  
BMI                                                        5.363e-03  1.005e+00  2.647e-02  0.203 0.839474    
MedHx_CVDyes                                               8.256e-01  2.283e+00  2.424e-01  3.406 0.000659 ***
stenose0-49%                                              -1.429e+01  6.241e-07  2.217e+03 -0.006 0.994857    
stenose50-70%                                              4.538e-01  1.574e+00  1.217e+00  0.373 0.709310    
stenose70-90%                                              1.369e+00  3.932e+00  1.143e+00  1.198 0.230792    
stenose90-99%                                              1.015e+00  2.760e+00  1.147e+00  0.885 0.375953    
stenose100% (Occlusion)                                    2.731e+00  1.535e+01  1.511e+00  1.808 0.070682 .  
stenoseNA                                                         NA         NA  0.000e+00     NA       NA    
stenose50-99%                                             -1.430e+01  6.162e-07  2.997e+03 -0.005 0.996193    
stenose70-99%                                              2.665e+00  1.437e+01  1.192e+00  2.236 0.025349 *  
stenose99                                                         NA         NA  0.000e+00     NA       NA    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

                                                          exp(coef) exp(-coef) lower .95 upper .95
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00365,3.18339] 1.577e+00  6.341e-01    1.0202     2.438
Age                                                       1.020e+00  9.800e-01    0.9927     1.049
Gendermale                                                1.473e+00  6.789e-01    0.9329     2.326
ORdate_year                                               9.695e-01  1.031e+00    0.9205     1.021
Hypertension.compositeno                                  1.056e+00  9.469e-01    0.5980     1.865
Hypertension.compositeyes                                        NA         NA        NA        NA
DiabetesStatusDiabetes                                    1.578e+00  6.337e-01    1.0189     2.444
SmokerStatusEx-smoker                                     7.423e-01  1.347e+00    0.4787     1.151
SmokerStatusNever smoked                                  7.434e-01  1.345e+00    0.3861     1.431
Med.Statin.LLDno                                          1.259e+00  7.944e-01    0.7940     1.996
Med.Statin.LLDyes                                                NA         NA        NA        NA
Med.all.antiplateletno                                    1.025e+00  9.760e-01    0.5863     1.791
Med.all.antiplateletyes                                          NA         NA        NA        NA
GFR_MDRD                                                  9.891e-01  1.011e+00    0.9782     1.000
BMI                                                       1.005e+00  9.947e-01    0.9545     1.059
MedHx_CVDyes                                              2.283e+00  4.380e-01    1.4198     3.672
stenose0-49%                                              6.241e-07  1.602e+06    0.0000       Inf
stenose50-70%                                             1.574e+00  6.352e-01    0.1448    17.115
stenose70-90%                                             3.932e+00  2.543e-01    0.4188    36.916
stenose90-99%                                             2.760e+00  3.623e-01    0.2917    26.112
stenose100% (Occlusion)                                   1.535e+01  6.515e-02    0.7943   296.642
stenoseNA                                                        NA         NA        NA        NA
stenose50-99%                                             6.162e-07  1.623e+06    0.0000       Inf
stenose70-99%                                             1.437e+01  6.959e-02    1.3896   148.576
stenose99                                                        NA         NA        NA        NA

Concordance= 0.722  (se = 0.023 )
Likelihood ratio test= 69.96  on 20 df,   p=2e-07
Wald test            = 65.48  on 20 df,   p=1e-06
Score (logrank) test = 77.22  on 20 df,   p=1e-08


   > writing the Cox-regression fashizzle to Excel...
Summarizing Cox regression results for ' MCP1_plasma_olink_rank ' and its association to ' epmajor.3years ' in ' AEDB.CEA '.
Collecting data.

We have collected the following:
Dataset used..............: AEDB.CEA 
Outcome analyzed..........: epmajor.3years 
Protein...................: MCP1_plasma_olink_rank 
Effect size...............: 0.455505 
Standard error............: 0.222213 
Odds ratio (effect size)..: 1.577 
Lower 95% CI..............: 1.02 
Upper 95% CI..............: 2.438 
T-value...................: 2.049854 
P-value...................: 0.04037869 
Sample size in model......: 586 
Number of events..........: 107 
* Analyzing the effect of plaque proteins on [epstroke.3years].
 - creating temporary SE for this work.
 - making a 'Surv' object and adding this to temporary dataframe.
 - making strata of each of the plaque proteins and start survival analysis.
   > processing [MCP1_pg_ug_2015_rank]; 1 out of 4 proteins.
   > cross tabulation of MCP1_pg_ug_2015_rank-stratum.

[-3.34102,0.00105) [ 0.00105,3.34102] 
               599                599 

   > fitting the model for MCP1_pg_ug_2015_rank-stratum.

   > make a Kaplan-Meier-shizzle...
Vectorized input to `element_text()` is not officially supported.
Results may be unexpected or may change in future versions of ggplot2.

   > perform the Cox-regression fashizzle and plot it...

Call:
coxph(formula = Surv(TEMP.DF[, eptime], event) ~ TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]] + 
    Age + Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = TEMP.DF)

  n= 1029, number of events= 59 
   (1394 observations deleted due to missingness)

                                                                coef  exp(coef)   se(coef)      z Pr(>|z|)  
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00105,3.34102]  2.608e-01  1.298e+00  2.783e-01  0.937   0.3487  
Age                                                        4.507e-02  1.046e+00  1.798e-02  2.507   0.0122 *
Gendermale                                                -4.406e-02  9.569e-01  2.996e-01 -0.147   0.8831  
ORdate_year                                               -3.894e-02  9.618e-01  4.823e-02 -0.807   0.4194  
Hypertension.compositeno                                   4.602e-04  1.000e+00  4.175e-01  0.001   0.9991  
Hypertension.compositeyes                                         NA         NA  0.000e+00     NA       NA  
DiabetesStatusDiabetes                                    -9.425e-03  9.906e-01  3.171e-01 -0.030   0.9763  
SmokerStatusEx-smoker                                     -1.164e-01  8.901e-01  2.964e-01 -0.393   0.6946  
SmokerStatusNever smoked                                  -9.547e-01  3.849e-01  5.245e-01 -1.820   0.0687 .
Med.Statin.LLDno                                           3.368e-01  1.400e+00  2.972e-01  1.133   0.2571  
Med.Statin.LLDyes                                                 NA         NA  0.000e+00     NA       NA  
Med.all.antiplateletno                                     3.819e-01  1.465e+00  3.719e-01  1.027   0.3045  
Med.all.antiplateletyes                                           NA         NA  0.000e+00     NA       NA  
GFR_MDRD                                                  -3.818e-03  9.962e-01  7.025e-03 -0.544   0.5868  
BMI                                                        8.126e-02  1.085e+00  3.469e-02  2.343   0.0191 *
MedHx_CVDyes                                               3.602e-01  1.434e+00  2.941e-01  1.225   0.2207  
stenose0-49%                                              -1.541e+01  2.036e-07  3.343e+03 -0.005   0.9963  
stenose50-70%                                             -6.563e-01  5.187e-01  1.173e+00 -0.559   0.5758  
stenose70-90%                                             -4.432e-01  6.420e-01  1.055e+00 -0.420   0.6744  
stenose90-99%                                             -4.878e-01  6.140e-01  1.069e+00 -0.456   0.6482  
stenose100% (Occlusion)                                    4.139e-01  1.513e+00  1.460e+00  0.284   0.7768  
stenoseNA                                                         NA         NA  0.000e+00     NA       NA  
stenose50-99%                                             -1.517e+01  2.593e-07  3.993e+03 -0.004   0.9970  
stenose70-99%                                                     NA         NA  0.000e+00     NA       NA  
stenose99                                                         NA         NA  0.000e+00     NA       NA  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

                                                          exp(coef) exp(-coef) lower .95 upper .95
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00105,3.34102] 1.298e+00  7.704e-01   0.75225     2.240
Age                                                       1.046e+00  9.559e-01   1.00988     1.084
Gendermale                                                9.569e-01  1.045e+00   0.53196     1.721
ORdate_year                                               9.618e-01  1.040e+00   0.87506     1.057
Hypertension.compositeno                                  1.000e+00  9.995e-01   0.44139     2.268
Hypertension.compositeyes                                        NA         NA        NA        NA
DiabetesStatusDiabetes                                    9.906e-01  1.009e+00   0.53206     1.844
SmokerStatusEx-smoker                                     8.901e-01  1.123e+00   0.49793     1.591
SmokerStatusNever smoked                                  3.849e-01  2.598e+00   0.13771     1.076
Med.Statin.LLDno                                          1.400e+00  7.140e-01   0.78215     2.508
Med.Statin.LLDyes                                                NA         NA        NA        NA
Med.all.antiplateletno                                    1.465e+00  6.826e-01   0.70675     3.037
Med.all.antiplateletyes                                          NA         NA        NA        NA
GFR_MDRD                                                  9.962e-01  1.004e+00   0.98257     1.010
BMI                                                       1.085e+00  9.220e-01   1.01337     1.161
MedHx_CVDyes                                              1.434e+00  6.976e-01   0.80557     2.551
stenose0-49%                                              2.036e-07  4.911e+06   0.00000       Inf
stenose50-70%                                             5.187e-01  1.928e+00   0.05205     5.170
stenose70-90%                                             6.420e-01  1.558e+00   0.08124     5.074
stenose90-99%                                             6.140e-01  1.629e+00   0.07554     4.990
stenose100% (Occlusion)                                   1.513e+00  6.611e-01   0.08650    26.456
stenoseNA                                                        NA         NA        NA        NA
stenose50-99%                                             2.593e-07  3.857e+06   0.00000       Inf
stenose70-99%                                                    NA         NA        NA        NA
stenose99                                                        NA         NA        NA        NA

Concordance= 0.674  (se = 0.034 )
Likelihood ratio test= 23.74  on 19 df,   p=0.2
Wald test            = 21.67  on 19 df,   p=0.3
Score (logrank) test = 22.9  on 19 df,   p=0.2


   > writing the Cox-regression fashizzle to Excel...
Summarizing Cox regression results for ' MCP1_pg_ug_2015_rank ' and its association to ' epstroke.3years ' in ' AEDB.CEA '.
Collecting data.

We have collected the following:
Dataset used..............: AEDB.CEA 
Outcome analyzed..........: epstroke.3years 
Protein...................: MCP1_pg_ug_2015_rank 
Effect size...............: 0.260803 
Standard error............: 0.278315 
Odds ratio (effect size)..: 1.298 
Lower 95% CI..............: 0.752 
Upper 95% CI..............: 2.24 
T-value...................: 0.937078 
P-value...................: 0.3487185 
Sample size in model......: 1029 
Number of events..........: 59 
   > processing [MCP1_pg_ml_2015_rank]; 2 out of 4 proteins.
   > cross tabulation of MCP1_pg_ml_2015_rank-stratum.

[-3.34125,0.00209) [ 0.00209,3.34125] 
               600                599 

   > fitting the model for MCP1_pg_ml_2015_rank-stratum.

   > make a Kaplan-Meier-shizzle...
Vectorized input to `element_text()` is not officially supported.
Results may be unexpected or may change in future versions of ggplot2.

   > perform the Cox-regression fashizzle and plot it...

Call:
coxph(formula = Surv(TEMP.DF[, eptime], event) ~ TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]] + 
    Age + Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = TEMP.DF)

  n= 1029, number of events= 59 
   (1394 observations deleted due to missingness)

                                                                coef  exp(coef)   se(coef)      z Pr(>|z|)  
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00209,3.34125]  1.594e-01  1.173e+00  2.824e-01  0.564   0.5724  
Age                                                        4.416e-02  1.045e+00  1.793e-02  2.462   0.0138 *
Gendermale                                                -4.998e-02  9.513e-01  3.010e-01 -0.166   0.8681  
ORdate_year                                               -3.475e-02  9.658e-01  4.903e-02 -0.709   0.4785  
Hypertension.compositeno                                  -1.230e-03  9.988e-01  4.192e-01 -0.003   0.9977  
Hypertension.compositeyes                                         NA         NA  0.000e+00     NA       NA  
DiabetesStatusDiabetes                                    -2.173e-02  9.785e-01  3.172e-01 -0.068   0.9454  
SmokerStatusEx-smoker                                     -1.136e-01  8.926e-01  2.965e-01 -0.383   0.7015  
SmokerStatusNever smoked                                  -9.518e-01  3.860e-01  5.240e-01 -1.817   0.0693 .
Med.Statin.LLDno                                           3.482e-01  1.417e+00  2.971e-01  1.172   0.2412  
Med.Statin.LLDyes                                                 NA         NA  0.000e+00     NA       NA  
Med.all.antiplateletno                                     3.779e-01  1.459e+00  3.721e-01  1.016   0.3098  
Med.all.antiplateletyes                                           NA         NA  0.000e+00     NA       NA  
GFR_MDRD                                                  -3.561e-03  9.964e-01  7.027e-03 -0.507   0.6124  
BMI                                                        8.022e-02  1.084e+00  3.436e-02  2.335   0.0195 *
MedHx_CVDyes                                               3.650e-01  1.441e+00  2.941e-01  1.241   0.2146  
stenose0-49%                                              -1.549e+01  1.867e-07  3.367e+03 -0.005   0.9963  
stenose50-70%                                             -6.477e-01  5.233e-01  1.173e+00 -0.552   0.5810  
stenose70-90%                                             -4.535e-01  6.354e-01  1.055e+00 -0.430   0.6673  
stenose90-99%                                             -5.009e-01  6.060e-01  1.070e+00 -0.468   0.6396  
stenose100% (Occlusion)                                    3.518e-01  1.422e+00  1.459e+00  0.241   0.8094  
stenoseNA                                                         NA         NA  0.000e+00     NA       NA  
stenose50-99%                                             -1.518e+01  2.547e-07  3.975e+03 -0.004   0.9970  
stenose70-99%                                                     NA         NA  0.000e+00     NA       NA  
stenose99                                                         NA         NA  0.000e+00     NA       NA  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

                                                          exp(coef) exp(-coef) lower .95 upper .95
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00209,3.34125] 1.173e+00  8.526e-01   0.67425     2.040
Age                                                       1.045e+00  9.568e-01   1.00905     1.083
Gendermale                                                9.513e-01  1.051e+00   0.52730     1.716
ORdate_year                                               9.658e-01  1.035e+00   0.87735     1.063
Hypertension.compositeno                                  9.988e-01  1.001e+00   0.43921     2.271
Hypertension.compositeyes                                        NA         NA        NA        NA
DiabetesStatusDiabetes                                    9.785e-01  1.022e+00   0.52549     1.822
SmokerStatusEx-smoker                                     8.926e-01  1.120e+00   0.49923     1.596
SmokerStatusNever smoked                                  3.860e-01  2.590e+00   0.13823     1.078
Med.Statin.LLDno                                          1.417e+00  7.059e-01   0.79124     2.536
Med.Statin.LLDyes                                                NA         NA        NA        NA
Med.all.antiplateletno                                    1.459e+00  6.853e-01   0.70369     3.026
Med.all.antiplateletyes                                          NA         NA        NA        NA
GFR_MDRD                                                  9.964e-01  1.004e+00   0.98282     1.010
BMI                                                       1.084e+00  9.229e-01   1.01297     1.159
MedHx_CVDyes                                              1.441e+00  6.942e-01   0.80943     2.564
stenose0-49%                                              1.867e-07  5.356e+06   0.00000       Inf
stenose50-70%                                             5.233e-01  1.911e+00   0.05246     5.219
stenose70-90%                                             6.354e-01  1.574e+00   0.08037     5.024
stenose90-99%                                             6.060e-01  1.650e+00   0.07448     4.930
stenose100% (Occlusion)                                   1.422e+00  7.034e-01   0.08147    24.808
stenoseNA                                                        NA         NA        NA        NA
stenose50-99%                                             2.547e-07  3.926e+06   0.00000       Inf
stenose70-99%                                                    NA         NA        NA        NA
stenose99                                                        NA         NA        NA        NA

Concordance= 0.672  (se = 0.034 )
Likelihood ratio test= 23.18  on 19 df,   p=0.2
Wald test            = 21.31  on 19 df,   p=0.3
Score (logrank) test = 22.41  on 19 df,   p=0.3


   > writing the Cox-regression fashizzle to Excel...
Summarizing Cox regression results for ' MCP1_pg_ml_2015_rank ' and its association to ' epstroke.3years ' in ' AEDB.CEA '.
Collecting data.

We have collected the following:
Dataset used..............: AEDB.CEA 
Outcome analyzed..........: epstroke.3years 
Protein...................: MCP1_pg_ml_2015_rank 
Effect size...............: 0.159428 
Standard error............: 0.282444 
Odds ratio (effect size)..: 1.173 
Lower 95% CI..............: 0.674 
Upper 95% CI..............: 2.04 
T-value...................: 0.564459 
P-value...................: 0.5724415 
Sample size in model......: 1029 
Number of events..........: 59 
   > processing [MCP1_rank]; 3 out of 4 proteins.
   > cross tabulation of MCP1_rank-stratum.

[-3.12162,0.00225) [ 0.00225,3.12162] 
               278                278 

   > fitting the model for MCP1_rank-stratum.

   > make a Kaplan-Meier-shizzle...
Vectorized input to `element_text()` is not officially supported.
Results may be unexpected or may change in future versions of ggplot2.

   > perform the Cox-regression fashizzle and plot it...

Call:
coxph(formula = Surv(TEMP.DF[, eptime], event) ~ TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]] + 
    Age + Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = TEMP.DF)

  n= 493, number of events= 29 
   (1930 observations deleted due to missingness)

                                                                coef  exp(coef)   se(coef)      z Pr(>|z|)
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00225,3.12162] -5.111e-01  5.998e-01  3.922e-01 -1.303    0.192
Age                                                        1.682e-02  1.017e+00  2.487e-02  0.676    0.499
Gendermale                                                 7.422e-02  1.077e+00  4.374e-01  0.170    0.865
ORdate_year                                               -2.613e-02  9.742e-01  1.808e-01 -0.145    0.885
Hypertension.compositeno                                  -8.185e-01  4.411e-01  7.527e-01 -1.087    0.277
Hypertension.compositeyes                                         NA         NA  0.000e+00     NA       NA
DiabetesStatusDiabetes                                     2.130e-01  1.237e+00  4.580e-01  0.465    0.642
SmokerStatusEx-smoker                                     -5.374e-01  5.843e-01  4.196e-01 -1.281    0.200
SmokerStatusNever smoked                                  -3.304e-01  7.186e-01  6.147e-01 -0.537    0.591
Med.Statin.LLDno                                          -6.489e-02  9.372e-01  4.561e-01 -0.142    0.887
Med.Statin.LLDyes                                                 NA         NA  0.000e+00     NA       NA
Med.all.antiplateletno                                    -8.493e-02  9.186e-01  6.709e-01 -0.127    0.899
Med.all.antiplateletyes                                           NA         NA  0.000e+00     NA       NA
GFR_MDRD                                                   2.245e-03  1.002e+00  1.037e-02  0.216    0.829
BMI                                                       -3.808e-03  9.962e-01  4.917e-02 -0.077    0.938
MedHx_CVDyes                                               2.618e-01  1.299e+00  4.162e-01  0.629    0.529
stenose0-49%                                              -1.873e+01  7.320e-09  1.321e+04 -0.001    0.999
stenose50-70%                                             -1.857e+01  8.632e-09  5.072e+03 -0.004    0.997
stenose70-90%                                             -1.307e+00  2.705e-01  1.121e+00 -1.166    0.244
stenose90-99%                                             -1.546e+00  2.130e-01  1.135e+00 -1.362    0.173
stenose100% (Occlusion)                                           NA         NA  0.000e+00     NA       NA
stenoseNA                                                         NA         NA  0.000e+00     NA       NA
stenose50-99%                                                     NA         NA  0.000e+00     NA       NA
stenose70-99%                                                     NA         NA  0.000e+00     NA       NA
stenose99                                                         NA         NA  0.000e+00     NA       NA

                                                          exp(coef) exp(-coef) lower .95 upper .95
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00225,3.12162] 5.998e-01  1.667e+00   0.27811     1.294
Age                                                       1.017e+00  9.833e-01   0.96858     1.068
Gendermale                                                1.077e+00  9.285e-01   0.45700     2.538
ORdate_year                                               9.742e-01  1.026e+00   0.68351     1.389
Hypertension.compositeno                                  4.411e-01  2.267e+00   0.10088     1.929
Hypertension.compositeyes                                        NA         NA        NA        NA
DiabetesStatusDiabetes                                    1.237e+00  8.081e-01   0.50429     3.036
SmokerStatusEx-smoker                                     5.843e-01  1.712e+00   0.25672     1.330
SmokerStatusNever smoked                                  7.186e-01  1.392e+00   0.21540     2.398
Med.Statin.LLDno                                          9.372e-01  1.067e+00   0.38338     2.291
Med.Statin.LLDyes                                                NA         NA        NA        NA
Med.all.antiplateletno                                    9.186e-01  1.089e+00   0.24662     3.421
Med.all.antiplateletyes                                          NA         NA        NA        NA
GFR_MDRD                                                  1.002e+00  9.978e-01   0.98209     1.023
BMI                                                       9.962e-01  1.004e+00   0.90468     1.097
MedHx_CVDyes                                              1.299e+00  7.697e-01   0.57466     2.938
stenose0-49%                                              7.320e-09  1.366e+08   0.00000       Inf
stenose50-70%                                             8.632e-09  1.159e+08   0.00000       Inf
stenose70-90%                                             2.705e-01  3.697e+00   0.03004     2.436
stenose90-99%                                             2.130e-01  4.694e+00   0.02303     1.970
stenose100% (Occlusion)                                          NA         NA        NA        NA
stenoseNA                                                        NA         NA        NA        NA
stenose50-99%                                                    NA         NA        NA        NA
stenose70-99%                                                    NA         NA        NA        NA
stenose99                                                        NA         NA        NA        NA

Concordance= 0.651  (se = 0.051 )
Likelihood ratio test= 9.82  on 17 df,   p=0.9
Wald test            = 7.29  on 17 df,   p=1
Score (logrank) test = 9.15  on 17 df,   p=0.9


   > writing the Cox-regression fashizzle to Excel...
Summarizing Cox regression results for ' MCP1_rank ' and its association to ' epstroke.3years ' in ' AEDB.CEA '.
Collecting data.

We have collected the following:
Dataset used..............: AEDB.CEA 
Outcome analyzed..........: epstroke.3years 
Protein...................: MCP1_rank 
Effect size...............: -0.511114 
Standard error............: 0.392158 
Odds ratio (effect size)..: 0.6 
Lower 95% CI..............: 0.278 
Upper 95% CI..............: 1.294 
T-value...................: -1.303338 
P-value...................: 0.1924592 
Sample size in model......: 493 
Number of events..........: 29 
   > processing [MCP1_plasma_olink_rank]; 4 out of 4 proteins.
   > cross tabulation of MCP1_plasma_olink_rank-stratum.

[-3.18339,0.00365) [ 0.00365,3.18339] 
               344                343 

   > fitting the model for MCP1_plasma_olink_rank-stratum.

   > make a Kaplan-Meier-shizzle...
Vectorized input to `element_text()` is not officially supported.
Results may be unexpected or may change in future versions of ggplot2.

   > perform the Cox-regression fashizzle and plot it...

Call:
coxph(formula = Surv(TEMP.DF[, eptime], event) ~ TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]] + 
    Age + Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = TEMP.DF)

  n= 586, number of events= 54 
   (1837 observations deleted due to missingness)

                                                                coef  exp(coef)   se(coef)      z Pr(>|z|)   
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00365,3.18339]  3.399e-01  1.405e+00  3.056e-01  1.112  0.26605   
Age                                                        5.058e-02  1.052e+00  1.962e-02  2.577  0.00996 **
Gendermale                                                 3.637e-01  1.439e+00  3.379e-01  1.077  0.28169   
ORdate_year                                               -3.142e-02  9.691e-01  3.660e-02 -0.859  0.39059   
Hypertension.compositeno                                   4.415e-01  1.555e+00  3.788e-01  1.165  0.24388   
Hypertension.compositeyes                                         NA         NA  0.000e+00     NA       NA   
DiabetesStatusDiabetes                                     2.457e-01  1.278e+00  3.321e-01  0.740  0.45947   
SmokerStatusEx-smoker                                      2.083e-01  1.232e+00  3.376e-01  0.617  0.53711   
SmokerStatusNever smoked                                   2.481e-01  1.282e+00  4.844e-01  0.512  0.60860   
Med.Statin.LLDno                                           5.333e-01  1.704e+00  3.183e-01  1.675  0.09392 . 
Med.Statin.LLDyes                                                 NA         NA  0.000e+00     NA       NA   
Med.all.antiplateletno                                    -1.245e-01  8.829e-01  4.169e-01 -0.299  0.76522   
Med.all.antiplateletyes                                           NA         NA  0.000e+00     NA       NA   
GFR_MDRD                                                   2.423e-03  1.002e+00  7.736e-03  0.313  0.75407   
BMI                                                        8.084e-02  1.084e+00  3.410e-02  2.370  0.01777 * 
MedHx_CVDyes                                               6.578e-01  1.930e+00  3.322e-01  1.980  0.04772 * 
stenose0-49%                                              -1.609e+01  1.031e-07  4.393e+03 -0.004  0.99708   
stenose50-70%                                             -5.549e-01  5.741e-01  1.351e+00 -0.411  0.68123   
stenose70-90%                                              6.273e-02  1.065e+00  1.248e+00  0.050  0.95990   
stenose90-99%                                              1.065e-01  1.112e+00  1.251e+00  0.085  0.93212   
stenose100% (Occlusion)                                    2.863e+00  1.751e+01  1.604e+00  1.785  0.07427 . 
stenoseNA                                                         NA         NA  0.000e+00     NA       NA   
stenose50-99%                                             -1.601e+01  1.114e-07  5.877e+03 -0.003  0.99783   
stenose70-99%                                              1.437e+00  4.207e+00  1.338e+00  1.074  0.28291   
stenose99                                                         NA         NA  0.000e+00     NA       NA   
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

                                                          exp(coef) exp(-coef) lower .95 upper .95
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00365,3.18339] 1.405e+00  7.118e-01   0.77176     2.557
Age                                                       1.052e+00  9.507e-01   1.01219     1.093
Gendermale                                                1.439e+00  6.951e-01   0.74193     2.790
ORdate_year                                               9.691e-01  1.032e+00   0.90198     1.041
Hypertension.compositeno                                  1.555e+00  6.431e-01   0.74005     3.267
Hypertension.compositeyes                                        NA         NA        NA        NA
DiabetesStatusDiabetes                                    1.278e+00  7.822e-01   0.66679     2.451
SmokerStatusEx-smoker                                     1.232e+00  8.119e-01   0.63555     2.387
SmokerStatusNever smoked                                  1.282e+00  7.803e-01   0.49589     3.312
Med.Statin.LLDno                                          1.704e+00  5.867e-01   0.91331     3.181
Med.Statin.LLDyes                                                NA         NA        NA        NA
Med.all.antiplateletno                                    8.829e-01  1.133e+00   0.39004     1.999
Med.all.antiplateletyes                                          NA         NA        NA        NA
GFR_MDRD                                                  1.002e+00  9.976e-01   0.98734     1.018
BMI                                                       1.084e+00  9.223e-01   1.01409     1.159
MedHx_CVDyes                                              1.930e+00  5.180e-01   1.00664     3.702
stenose0-49%                                              1.031e-07  9.700e+06   0.00000       Inf
stenose50-70%                                             5.741e-01  1.742e+00   0.04067     8.106
stenose70-90%                                             1.065e+00  9.392e-01   0.09227    12.286
stenose90-99%                                             1.112e+00  8.989e-01   0.09585    12.911
stenose100% (Occlusion)                                   1.751e+01  5.712e-02   0.75530   405.738
stenoseNA                                                        NA         NA        NA        NA
stenose50-99%                                             1.114e-07  8.975e+06   0.00000       Inf
stenose70-99%                                             4.207e+00  2.377e-01   0.30554    57.923
stenose99                                                        NA         NA        NA        NA

Concordance= 0.704  (se = 0.035 )
Likelihood ratio test= 37.92  on 20 df,   p=0.009
Wald test            = 31.45  on 20 df,   p=0.05
Score (logrank) test = 47.88  on 20 df,   p=4e-04


   > writing the Cox-regression fashizzle to Excel...
Summarizing Cox regression results for ' MCP1_plasma_olink_rank ' and its association to ' epstroke.3years ' in ' AEDB.CEA '.
Collecting data.

We have collected the following:
Dataset used..............: AEDB.CEA 
Outcome analyzed..........: epstroke.3years 
Protein...................: MCP1_plasma_olink_rank 
Effect size...............: 0.339899 
Standard error............: 0.30561 
Odds ratio (effect size)..: 1.405 
Lower 95% CI..............: 0.772 
Upper 95% CI..............: 2.557 
T-value...................: 1.112199 
P-value...................: 0.2660526 
Sample size in model......: 586 
Number of events..........: 54 
* Analyzing the effect of plaque proteins on [epcoronary.3years].
 - creating temporary SE for this work.
 - making a 'Surv' object and adding this to temporary dataframe.
 - making strata of each of the plaque proteins and start survival analysis.
   > processing [MCP1_pg_ug_2015_rank]; 1 out of 4 proteins.
   > cross tabulation of MCP1_pg_ug_2015_rank-stratum.

[-3.34102,0.00105) [ 0.00105,3.34102] 
               599                599 

   > fitting the model for MCP1_pg_ug_2015_rank-stratum.

   > make a Kaplan-Meier-shizzle...
Vectorized input to `element_text()` is not officially supported.
Results may be unexpected or may change in future versions of ggplot2.

   > perform the Cox-regression fashizzle and plot it...

Call:
coxph(formula = Surv(TEMP.DF[, eptime], event) ~ TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]] + 
    Age + Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = TEMP.DF)

  n= 1029, number of events= 78 
   (1394 observations deleted due to missingness)

                                                                coef  exp(coef)   se(coef)      z Pr(>|z|)    
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00105,3.34102] -8.129e-02  9.219e-01  2.382e-01 -0.341 0.732935    
Age                                                        5.831e-04  1.001e+00  1.530e-02  0.038 0.969597    
Gendermale                                                 8.572e-01  2.357e+00  3.031e-01  2.828 0.004685 ** 
ORdate_year                                               -2.828e-02  9.721e-01  4.226e-02 -0.669 0.503402    
Hypertension.compositeno                                  -9.168e-01  3.998e-01  5.209e-01 -1.760 0.078392 .  
Hypertension.compositeyes                                         NA         NA  0.000e+00     NA       NA    
DiabetesStatusDiabetes                                    -9.126e-02  9.128e-01  2.765e-01 -0.330 0.741338    
SmokerStatusEx-smoker                                     -6.172e-01  5.395e-01  2.576e-01 -2.396 0.016571 *  
SmokerStatusNever smoked                                  -2.571e-01  7.733e-01  3.650e-01 -0.704 0.481122    
Med.Statin.LLDno                                           9.386e-02  1.098e+00  2.752e-01  0.341 0.733113    
Med.Statin.LLDyes                                                 NA         NA  0.000e+00     NA       NA    
Med.all.antiplateletno                                     3.545e-01  1.425e+00  3.352e-01  1.058 0.290178    
Med.all.antiplateletyes                                           NA         NA  0.000e+00     NA       NA    
GFR_MDRD                                                  -2.020e-02  9.800e-01  5.975e-03 -3.381 0.000723 ***
BMI                                                        1.344e-02  1.014e+00  3.300e-02  0.407 0.683730    
MedHx_CVDyes                                               6.888e-01  1.991e+00  2.795e-01  2.465 0.013715 *  
stenose0-49%                                              -1.597e+01  1.163e-07  3.040e+03 -0.005 0.995809    
stenose50-70%                                             -1.822e+00  1.617e-01  1.427e+00 -1.276 0.201823    
stenose70-90%                                             -2.739e-01  7.604e-01  1.044e+00 -0.262 0.792988    
stenose90-99%                                             -3.629e-01  6.956e-01  1.055e+00 -0.344 0.730864    
stenose100% (Occlusion)                                   -1.555e+01  1.767e-07  2.470e+03 -0.006 0.994977    
stenoseNA                                                         NA         NA  0.000e+00     NA       NA    
stenose50-99%                                              8.026e-01  2.231e+00  1.430e+00  0.561 0.574547    
stenose70-99%                                                     NA         NA  0.000e+00     NA       NA    
stenose99                                                         NA         NA  0.000e+00     NA       NA    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

                                                          exp(coef) exp(-coef) lower .95 upper .95
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00105,3.34102] 9.219e-01  1.085e+00   0.57799    1.4705
Age                                                       1.001e+00  9.994e-01   0.97103    1.0310
Gendermale                                                2.357e+00  4.244e-01   1.30095    4.2686
ORdate_year                                               9.721e-01  1.029e+00   0.89485    1.0561
Hypertension.compositeno                                  3.998e-01  2.501e+00   0.14403    1.1097
Hypertension.compositeyes                                        NA         NA        NA        NA
DiabetesStatusDiabetes                                    9.128e-01  1.096e+00   0.53092    1.5693
SmokerStatusEx-smoker                                     5.395e-01  1.854e+00   0.32561    0.8937
SmokerStatusNever smoked                                  7.733e-01  1.293e+00   0.37816    1.5812
Med.Statin.LLDno                                          1.098e+00  9.104e-01   0.64043    1.8839
Med.Statin.LLDyes                                                NA         NA        NA        NA
Med.all.antiplateletno                                    1.425e+00  7.015e-01   0.73905    2.7495
Med.all.antiplateletyes                                          NA         NA        NA        NA
GFR_MDRD                                                  9.800e-01  1.020e+00   0.96860    0.9915
BMI                                                       1.014e+00  9.866e-01   0.95006    1.0812
MedHx_CVDyes                                              1.991e+00  5.022e-01   1.15147    3.4437
stenose0-49%                                              1.163e-07  8.601e+06   0.00000       Inf
stenose50-70%                                             1.617e-01  6.183e+00   0.00986    2.6530
stenose70-90%                                             7.604e-01  1.315e+00   0.09835    5.8798
stenose90-99%                                             6.956e-01  1.438e+00   0.08797    5.5012
stenose100% (Occlusion)                                   1.767e-07  5.658e+06   0.00000       Inf
stenoseNA                                                        NA         NA        NA        NA
stenose50-99%                                             2.231e+00  4.482e-01   0.13540   36.7671
stenose70-99%                                                    NA         NA        NA        NA
stenose99                                                        NA         NA        NA        NA

Concordance= 0.727  (se = 0.028 )
Likelihood ratio test= 50.41  on 19 df,   p=1e-04
Wald test            = 44.18  on 19 df,   p=9e-04
Score (logrank) test = 47.82  on 19 df,   p=3e-04


   > writing the Cox-regression fashizzle to Excel...
Summarizing Cox regression results for ' MCP1_pg_ug_2015_rank ' and its association to ' epcoronary.3years ' in ' AEDB.CEA '.
Collecting data.

We have collected the following:
Dataset used..............: AEDB.CEA 
Outcome analyzed..........: epcoronary.3years 
Protein...................: MCP1_pg_ug_2015_rank 
Effect size...............: -0.081288 
Standard error............: 0.238225 
Odds ratio (effect size)..: 0.922 
Lower 95% CI..............: 0.578 
Upper 95% CI..............: 1.471 
T-value...................: -0.341224 
P-value...................: 0.7329348 
Sample size in model......: 1029 
Number of events..........: 78 
   > processing [MCP1_pg_ml_2015_rank]; 2 out of 4 proteins.
   > cross tabulation of MCP1_pg_ml_2015_rank-stratum.

[-3.34125,0.00209) [ 0.00209,3.34125] 
               600                599 

   > fitting the model for MCP1_pg_ml_2015_rank-stratum.

   > make a Kaplan-Meier-shizzle...
Vectorized input to `element_text()` is not officially supported.
Results may be unexpected or may change in future versions of ggplot2.

   > perform the Cox-regression fashizzle and plot it...

Call:
coxph(formula = Surv(TEMP.DF[, eptime], event) ~ TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]] + 
    Age + Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = TEMP.DF)

  n= 1029, number of events= 78 
   (1394 observations deleted due to missingness)

                                                                coef  exp(coef)   se(coef)      z Pr(>|z|)    
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00209,3.34125]  2.905e-01  1.337e+00  2.410e-01  1.205 0.228034    
Age                                                        3.225e-04  1.000e+00  1.532e-02  0.021 0.983210    
Gendermale                                                 8.268e-01  2.286e+00  3.041e-01  2.719 0.006547 ** 
ORdate_year                                               -4.520e-02  9.558e-01  4.217e-02 -1.072 0.283803    
Hypertension.compositeno                                  -9.704e-01  3.789e-01  5.215e-01 -1.861 0.062793 .  
Hypertension.compositeyes                                         NA         NA  0.000e+00     NA       NA    
DiabetesStatusDiabetes                                    -8.006e-02  9.231e-01  2.760e-01 -0.290 0.771732    
SmokerStatusEx-smoker                                     -6.194e-01  5.383e-01  2.585e-01 -2.396 0.016592 *  
SmokerStatusNever smoked                                  -2.735e-01  7.607e-01  3.654e-01 -0.748 0.454249    
Med.Statin.LLDno                                           5.528e-02  1.057e+00  2.760e-01  0.200 0.841276    
Med.Statin.LLDyes                                                 NA         NA  0.000e+00     NA       NA    
Med.all.antiplateletno                                     3.320e-01  1.394e+00  3.353e-01  0.990 0.322098    
Med.all.antiplateletyes                                           NA         NA  0.000e+00     NA       NA    
GFR_MDRD                                                  -2.003e-02  9.802e-01  5.954e-03 -3.365 0.000766 ***
BMI                                                        1.495e-02  1.015e+00  3.351e-02  0.446 0.655552    
MedHx_CVDyes                                               6.941e-01  2.002e+00  2.795e-01  2.483 0.013015 *  
stenose0-49%                                              -1.602e+01  1.106e-07  3.018e+03 -0.005 0.995765    
stenose50-70%                                             -1.801e+00  1.651e-01  1.427e+00 -1.262 0.206807    
stenose70-90%                                             -2.542e-01  7.756e-01  1.043e+00 -0.244 0.807516    
stenose90-99%                                             -3.387e-01  7.127e-01  1.054e+00 -0.321 0.747924    
stenose100% (Occlusion)                                   -1.545e+01  1.953e-07  2.480e+03 -0.006 0.995030    
stenoseNA                                                         NA         NA  0.000e+00     NA       NA    
stenose50-99%                                              7.799e-01  2.181e+00  1.430e+00  0.545 0.585612    
stenose70-99%                                                     NA         NA  0.000e+00     NA       NA    
stenose99                                                         NA         NA  0.000e+00     NA       NA    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

                                                          exp(coef) exp(-coef) lower .95 upper .95
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00209,3.34125] 1.337e+00  7.479e-01   0.83375    2.1442
Age                                                       1.000e+00  9.997e-01   0.97072    1.0308
Gendermale                                                2.286e+00  4.374e-01   1.25965    4.1490
ORdate_year                                               9.558e-01  1.046e+00   0.87999    1.0382
Hypertension.compositeno                                  3.789e-01  2.639e+00   0.13634    1.0532
Hypertension.compositeyes                                        NA         NA        NA        NA
DiabetesStatusDiabetes                                    9.231e-01  1.083e+00   0.53742    1.5854
SmokerStatusEx-smoker                                     5.383e-01  1.858e+00   0.32429    0.8935
SmokerStatusNever smoked                                  7.607e-01  1.315e+00   0.37170    1.5570
Med.Statin.LLDno                                          1.057e+00  9.462e-01   0.61526    1.8153
Med.Statin.LLDyes                                                NA         NA        NA        NA
Med.all.antiplateletno                                    1.394e+00  7.175e-01   0.72237    2.6894
Med.all.antiplateletyes                                          NA         NA        NA        NA
GFR_MDRD                                                  9.802e-01  1.020e+00   0.96879    0.9917
BMI                                                       1.015e+00  9.852e-01   0.95054    1.0840
MedHx_CVDyes                                              2.002e+00  4.995e-01   1.15752    3.4620
stenose0-49%                                              1.106e-07  9.039e+06   0.00000       Inf
stenose50-70%                                             1.651e-01  6.056e+00   0.01008    2.7052
stenose70-90%                                             7.756e-01  1.289e+00   0.10037    5.9929
stenose90-99%                                             7.127e-01  1.403e+00   0.09030    5.6244
stenose100% (Occlusion)                                   1.953e-07  5.121e+06   0.00000       Inf
stenoseNA                                                        NA         NA        NA        NA
stenose50-99%                                             2.181e+00  4.584e-01   0.13215   36.0042
stenose70-99%                                                    NA         NA        NA        NA
stenose99                                                        NA         NA        NA        NA

Concordance= 0.733  (se = 0.028 )
Likelihood ratio test= 51.75  on 19 df,   p=7e-05
Wald test            = 45.64  on 19 df,   p=6e-04
Score (logrank) test = 49.2  on 19 df,   p=2e-04


   > writing the Cox-regression fashizzle to Excel...
Summarizing Cox regression results for ' MCP1_pg_ml_2015_rank ' and its association to ' epcoronary.3years ' in ' AEDB.CEA '.
Collecting data.

We have collected the following:
Dataset used..............: AEDB.CEA 
Outcome analyzed..........: epcoronary.3years 
Protein...................: MCP1_pg_ml_2015_rank 
Effect size...............: 0.290473 
Standard error............: 0.240969 
Odds ratio (effect size)..: 1.337 
Lower 95% CI..............: 0.834 
Upper 95% CI..............: 2.144 
T-value...................: 1.205438 
P-value...................: 0.2280341 
Sample size in model......: 1029 
Number of events..........: 78 
   > processing [MCP1_rank]; 3 out of 4 proteins.
   > cross tabulation of MCP1_rank-stratum.

[-3.12162,0.00225) [ 0.00225,3.12162] 
               278                278 

   > fitting the model for MCP1_rank-stratum.

   > make a Kaplan-Meier-shizzle...
Vectorized input to `element_text()` is not officially supported.
Results may be unexpected or may change in future versions of ggplot2.

   > perform the Cox-regression fashizzle and plot it...

Call:
coxph(formula = Surv(TEMP.DF[, eptime], event) ~ TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]] + 
    Age + Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = TEMP.DF)

  n= 493, number of events= 42 
   (1930 observations deleted due to missingness)

                                                                coef  exp(coef)   se(coef)      z Pr(>|z|)  
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00225,3.12162]  3.996e-02  1.041e+00  3.269e-01  0.122   0.9027  
Age                                                        4.142e-02  1.042e+00  2.293e-02  1.806   0.0709 .
Gendermale                                                 9.841e-01  2.675e+00  4.684e-01  2.101   0.0356 *
ORdate_year                                               -2.760e-01  7.588e-01  1.478e-01 -1.867   0.0620 .
Hypertension.compositeno                                  -2.340e-01  7.914e-01  5.431e-01 -0.431   0.6666  
Hypertension.compositeyes                                         NA         NA  0.000e+00     NA       NA  
DiabetesStatusDiabetes                                     5.455e-01  1.726e+00  3.576e-01  1.526   0.1271  
SmokerStatusEx-smoker                                     -4.047e-01  6.672e-01  3.492e-01 -1.159   0.2465  
SmokerStatusNever smoked                                  -1.727e-02  9.829e-01  5.071e-01 -0.034   0.9728  
Med.Statin.LLDno                                          -5.702e-02  9.446e-01  3.626e-01 -0.157   0.8751  
Med.Statin.LLDyes                                                 NA         NA  0.000e+00     NA       NA  
Med.all.antiplateletno                                     6.030e-01  1.828e+00  4.594e-01  1.313   0.1893  
Med.all.antiplateletyes                                           NA         NA  0.000e+00     NA       NA  
GFR_MDRD                                                  -1.491e-02  9.852e-01  8.623e-03 -1.730   0.0837 .
BMI                                                        4.034e-02  1.041e+00  4.216e-02  0.957   0.3387  
MedHx_CVDyes                                               1.532e-01  1.166e+00  3.489e-01  0.439   0.6605  
stenose0-49%                                              -1.499e-01  8.608e-01  8.796e+03  0.000   1.0000  
stenose50-70%                                              1.616e+01  1.041e+07  5.185e+03  0.003   0.9975  
stenose70-90%                                              1.636e+01  1.269e+07  5.185e+03  0.003   0.9975  
stenose90-99%                                              1.621e+01  1.100e+07  5.185e+03  0.003   0.9975  
stenose100% (Occlusion)                                           NA         NA  0.000e+00     NA       NA  
stenoseNA                                                         NA         NA  0.000e+00     NA       NA  
stenose50-99%                                                     NA         NA  0.000e+00     NA       NA  
stenose70-99%                                                     NA         NA  0.000e+00     NA       NA  
stenose99                                                         NA         NA  0.000e+00     NA       NA  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

                                                          exp(coef) exp(-coef) lower .95 upper .95
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00225,3.12162] 1.041e+00  9.608e-01    0.5484     1.975
Age                                                       1.042e+00  9.594e-01    0.9965     1.090
Gendermale                                                2.675e+00  3.738e-01    1.0683     6.700
ORdate_year                                               7.588e-01  1.318e+00    0.5679     1.014
Hypertension.compositeno                                  7.914e-01  1.264e+00    0.2729     2.295
Hypertension.compositeyes                                        NA         NA        NA        NA
DiabetesStatusDiabetes                                    1.726e+00  5.795e-01    0.8562     3.478
SmokerStatusEx-smoker                                     6.672e-01  1.499e+00    0.3365     1.323
SmokerStatusNever smoked                                  9.829e-01  1.017e+00    0.3638     2.655
Med.Statin.LLDno                                          9.446e-01  1.059e+00    0.4641     1.923
Med.Statin.LLDyes                                                NA         NA        NA        NA
Med.all.antiplateletno                                    1.828e+00  5.472e-01    0.7427     4.497
Med.all.antiplateletyes                                          NA         NA        NA        NA
GFR_MDRD                                                  9.852e-01  1.015e+00    0.9687     1.002
BMI                                                       1.041e+00  9.605e-01    0.9586     1.131
MedHx_CVDyes                                              1.166e+00  8.580e-01    0.5883     2.309
stenose0-49%                                              8.608e-01  1.162e+00    0.0000       Inf
stenose50-70%                                             1.041e+07  9.610e-08    0.0000       Inf
stenose70-90%                                             1.269e+07  7.881e-08    0.0000       Inf
stenose90-99%                                             1.100e+07  9.094e-08    0.0000       Inf
stenose100% (Occlusion)                                          NA         NA        NA        NA
stenoseNA                                                        NA         NA        NA        NA
stenose50-99%                                                    NA         NA        NA        NA
stenose70-99%                                                    NA         NA        NA        NA
stenose99                                                        NA         NA        NA        NA

Concordance= 0.725  (se = 0.036 )
Likelihood ratio test= 25.04  on 17 df,   p=0.09
Wald test            = 15.97  on 17 df,   p=0.5
Score (logrank) test = 24.24  on 17 df,   p=0.1


   > writing the Cox-regression fashizzle to Excel...
Summarizing Cox regression results for ' MCP1_rank ' and its association to ' epcoronary.3years ' in ' AEDB.CEA '.
Collecting data.

We have collected the following:
Dataset used..............: AEDB.CEA 
Outcome analyzed..........: epcoronary.3years 
Protein...................: MCP1_rank 
Effect size...............: 0.039956 
Standard error............: 0.326862 
Odds ratio (effect size)..: 1.041 
Lower 95% CI..............: 0.548 
Upper 95% CI..............: 1.975 
T-value...................: 0.122242 
P-value...................: 0.9027075 
Sample size in model......: 493 
Number of events..........: 42 
   > processing [MCP1_plasma_olink_rank]; 4 out of 4 proteins.
   > cross tabulation of MCP1_plasma_olink_rank-stratum.

[-3.18339,0.00365) [ 0.00365,3.18339] 
               344                343 

   > fitting the model for MCP1_plasma_olink_rank-stratum.

   > make a Kaplan-Meier-shizzle...
Vectorized input to `element_text()` is not officially supported.
Results may be unexpected or may change in future versions of ggplot2.

   > perform the Cox-regression fashizzle and plot it...

Call:
coxph(formula = Surv(TEMP.DF[, eptime], event) ~ TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]] + 
    Age + Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = TEMP.DF)

  n= 586, number of events= 66 
   (1837 observations deleted due to missingness)

                                                                coef  exp(coef)   se(coef)      z Pr(>|z|)    
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00365,3.18339]  5.414e-01  1.718e+00  2.727e-01  1.985 0.047107 *  
Age                                                       -2.839e-02  9.720e-01  1.805e-02 -1.573 0.115745    
Gendermale                                                 7.872e-01  2.197e+00  3.120e-01  2.523 0.011639 *  
ORdate_year                                               -2.773e-02  9.727e-01  3.356e-02 -0.826 0.408748    
Hypertension.compositeno                                  -5.819e-01  5.589e-01  4.156e-01 -1.400 0.161470    
Hypertension.compositeyes                                         NA         NA  0.000e+00     NA       NA    
DiabetesStatusDiabetes                                     6.377e-01  1.892e+00  2.710e-01  2.353 0.018633 *  
SmokerStatusEx-smoker                                     -5.183e-01  5.955e-01  2.818e-01 -1.840 0.065834 .  
SmokerStatusNever smoked                                   1.325e-02  1.013e+00  3.887e-01  0.034 0.972801    
Med.Statin.LLDno                                          -9.599e-02  9.085e-01  3.341e-01 -0.287 0.773894    
Med.Statin.LLDyes                                                 NA         NA  0.000e+00     NA       NA    
Med.all.antiplateletno                                    -6.763e-02  9.346e-01  3.871e-01 -0.175 0.861321    
Med.all.antiplateletyes                                           NA         NA  0.000e+00     NA       NA    
GFR_MDRD                                                  -1.276e-02  9.873e-01  6.774e-03 -1.883 0.059635 .  
BMI                                                       -4.701e-02  9.541e-01  3.560e-02 -1.320 0.186742    
MedHx_CVDyes                                               1.128e+00  3.089e+00  3.254e-01  3.466 0.000528 ***
stenose0-49%                                               7.123e-01  2.039e+00  1.392e+04  0.000 0.999959    
stenose50-70%                                              1.581e+01  7.319e+06  1.332e+04  0.001 0.999053    
stenose70-90%                                              1.704e+01  2.514e+07  1.332e+04  0.001 0.998979    
stenose90-99%                                              1.653e+01  1.507e+07  1.332e+04  0.001 0.999010    
stenose100% (Occlusion)                                   -5.477e-01  5.783e-01  1.553e+04  0.000 0.999972    
stenoseNA                                                         NA         NA  0.000e+00     NA       NA    
stenose50-99%                                              6.416e-01  1.900e+00  1.446e+04  0.000 0.999965    
stenose70-99%                                              1.829e+01  8.763e+07  1.332e+04  0.001 0.998904    
stenose99                                                         NA         NA  0.000e+00     NA       NA    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

                                                          exp(coef) exp(-coef) lower .95 upper .95
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00365,3.18339] 1.718e+00  5.819e-01    1.0069     2.933
Age                                                       9.720e-01  1.029e+00    0.9382     1.007
Gendermale                                                2.197e+00  4.551e-01    1.1920     4.050
ORdate_year                                               9.727e-01  1.028e+00    0.9107     1.039
Hypertension.compositeno                                  5.589e-01  1.789e+00    0.2475     1.262
Hypertension.compositeyes                                        NA         NA        NA        NA
DiabetesStatusDiabetes                                    1.892e+00  5.285e-01    1.1124     3.219
SmokerStatusEx-smoker                                     5.955e-01  1.679e+00    0.3428     1.035
SmokerStatusNever smoked                                  1.013e+00  9.868e-01    0.4730     2.171
Med.Statin.LLDno                                          9.085e-01  1.101e+00    0.4719     1.749
Med.Statin.LLDyes                                                NA         NA        NA        NA
Med.all.antiplateletno                                    9.346e-01  1.070e+00    0.4376     1.996
Med.all.antiplateletyes                                          NA         NA        NA        NA
GFR_MDRD                                                  9.873e-01  1.013e+00    0.9743     1.001
BMI                                                       9.541e-01  1.048e+00    0.8898     1.023
MedHx_CVDyes                                              3.089e+00  3.238e-01    1.6324     5.844
stenose0-49%                                              2.039e+00  4.905e-01    0.0000       Inf
stenose50-70%                                             7.319e+06  1.366e-07    0.0000       Inf
stenose70-90%                                             2.514e+07  3.977e-08    0.0000       Inf
stenose90-99%                                             1.507e+07  6.638e-08    0.0000       Inf
stenose100% (Occlusion)                                   5.783e-01  1.729e+00    0.0000       Inf
stenoseNA                                                        NA         NA        NA        NA
stenose50-99%                                             1.900e+00  5.264e-01    0.0000       Inf
stenose70-99%                                             8.763e+07  1.141e-08    0.0000       Inf
stenose99                                                        NA         NA        NA        NA

Concordance= 0.758  (se = 0.028 )
Likelihood ratio test= 58.4  on 20 df,   p=1e-05
Wald test            = 41.91  on 20 df,   p=0.003
Score (logrank) test = 57.1  on 20 df,   p=2e-05


   > writing the Cox-regression fashizzle to Excel...
Summarizing Cox regression results for ' MCP1_plasma_olink_rank ' and its association to ' epcoronary.3years ' in ' AEDB.CEA '.
Collecting data.

We have collected the following:
Dataset used..............: AEDB.CEA 
Outcome analyzed..........: epcoronary.3years 
Protein...................: MCP1_plasma_olink_rank 
Effect size...............: 0.541426 
Standard error............: 0.272713 
Odds ratio (effect size)..: 1.718 
Lower 95% CI..............: 1.007 
Upper 95% CI..............: 2.933 
T-value...................: 1.985336 
P-value...................: 0.04710706 
Sample size in model......: 586 
Number of events..........: 66 
* Analyzing the effect of plaque proteins on [epcvdeath.3years].
 - creating temporary SE for this work.
 - making a 'Surv' object and adding this to temporary dataframe.
 - making strata of each of the plaque proteins and start survival analysis.
   > processing [MCP1_pg_ug_2015_rank]; 1 out of 4 proteins.
   > cross tabulation of MCP1_pg_ug_2015_rank-stratum.

[-3.34102,0.00105) [ 0.00105,3.34102] 
               599                599 

   > fitting the model for MCP1_pg_ug_2015_rank-stratum.

   > make a Kaplan-Meier-shizzle...
Vectorized input to `element_text()` is not officially supported.
Results may be unexpected or may change in future versions of ggplot2.

   > perform the Cox-regression fashizzle and plot it...

Call:
coxph(formula = Surv(TEMP.DF[, eptime], event) ~ TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]] + 
    Age + Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = TEMP.DF)

  n= 1029, number of events= 33 
   (1394 observations deleted due to missingness)

                                                                coef  exp(coef)   se(coef)      z Pr(>|z|)    
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00105,3.34102] -1.032e-01  9.020e-01  3.706e-01 -0.278 0.780683    
Age                                                        7.038e-02  1.073e+00  2.717e-02  2.591 0.009583 ** 
Gendermale                                                 1.235e+00  3.438e+00  5.583e-01  2.212 0.026994 *  
ORdate_year                                               -7.000e-02  9.324e-01  7.097e-02 -0.986 0.323965    
Hypertension.compositeno                                  -1.772e+01  2.022e-08  3.976e+03 -0.004 0.996445    
Hypertension.compositeyes                                         NA         NA  0.000e+00     NA       NA    
DiabetesStatusDiabetes                                    -1.617e-02  9.840e-01  4.283e-01 -0.038 0.969887    
SmokerStatusEx-smoker                                     -5.421e-01  5.815e-01  4.041e-01 -1.341 0.179820    
SmokerStatusNever smoked                                  -3.793e-01  6.844e-01  6.195e-01 -0.612 0.540357    
Med.Statin.LLDno                                           2.953e-02  1.030e+00  4.214e-01  0.070 0.944129    
Med.Statin.LLDyes                                                 NA         NA  0.000e+00     NA       NA    
Med.all.antiplateletno                                     1.119e+00  3.062e+00  4.176e-01  2.680 0.007360 ** 
Med.all.antiplateletyes                                           NA         NA  0.000e+00     NA       NA    
GFR_MDRD                                                  -3.306e-02  9.675e-01  9.439e-03 -3.502 0.000461 ***
BMI                                                        8.403e-02  1.088e+00  5.163e-02  1.627 0.103639    
MedHx_CVDyes                                               7.411e-01  2.098e+00  4.621e-01  1.604 0.108740    
stenose0-49%                                              -2.061e+01  1.123e-09  2.700e+04 -0.001 0.999391    
stenose50-70%                                             -1.280e+00  2.780e-01  1.264e+00 -1.013 0.311055    
stenose70-90%                                             -1.796e+00  1.659e-01  1.124e+00 -1.598 0.109956    
stenose90-99%                                             -1.508e+00  2.213e-01  1.152e+00 -1.310 0.190337    
stenose100% (Occlusion)                                   -1.994e+01  2.190e-09  1.979e+04 -0.001 0.999196    
stenoseNA                                                         NA         NA  0.000e+00     NA       NA    
stenose50-99%                                             -1.943e+01  3.651e-09  3.424e+04 -0.001 0.999547    
stenose70-99%                                                     NA         NA  0.000e+00     NA       NA    
stenose99                                                         NA         NA  0.000e+00     NA       NA    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

                                                          exp(coef) exp(-coef) lower .95 upper .95
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00105,3.34102] 9.020e-01  1.109e+00   0.43626    1.8648
Age                                                       1.073e+00  9.320e-01   1.01728    1.1316
Gendermale                                                3.438e+00  2.909e-01   1.15085   10.2689
ORdate_year                                               9.324e-01  1.073e+00   0.81132    1.0715
Hypertension.compositeno                                  2.022e-08  4.946e+07   0.00000       Inf
Hypertension.compositeyes                                        NA         NA        NA        NA
DiabetesStatusDiabetes                                    9.840e-01  1.016e+00   0.42505    2.2778
SmokerStatusEx-smoker                                     5.815e-01  1.720e+00   0.26339    1.2840
SmokerStatusNever smoked                                  6.844e-01  1.461e+00   0.20323    2.3044
Med.Statin.LLDno                                          1.030e+00  9.709e-01   0.45098    2.3523
Med.Statin.LLDyes                                                NA         NA        NA        NA
Med.all.antiplateletno                                    3.062e+00  3.265e-01   1.35084    6.9424
Med.all.antiplateletyes                                          NA         NA        NA        NA
GFR_MDRD                                                  9.675e-01  1.034e+00   0.94974    0.9855
BMI                                                       1.088e+00  9.194e-01   0.98298    1.2035
MedHx_CVDyes                                              2.098e+00  4.766e-01   0.84829    5.1897
stenose0-49%                                              1.123e-09  8.903e+08   0.00000       Inf
stenose50-70%                                             2.780e-01  3.597e+00   0.02336    3.3087
stenose70-90%                                             1.659e-01  6.027e+00   0.01834    1.5013
stenose90-99%                                             2.213e-01  4.519e+00   0.02315    2.1151
stenose100% (Occlusion)                                   2.190e-09  4.566e+08   0.00000       Inf
stenoseNA                                                        NA         NA        NA        NA
stenose50-99%                                             3.651e-09  2.739e+08   0.00000       Inf
stenose70-99%                                                    NA         NA        NA        NA
stenose99                                                        NA         NA        NA        NA

Concordance= 0.843  (se = 0.031 )
Likelihood ratio test= 61.17  on 19 df,   p=3e-06
Wald test            = 22.08  on 19 df,   p=0.3
Score (logrank) test = 57.15  on 19 df,   p=1e-05


   > writing the Cox-regression fashizzle to Excel...
Summarizing Cox regression results for ' MCP1_pg_ug_2015_rank ' and its association to ' epcvdeath.3years ' in ' AEDB.CEA '.
Collecting data.

We have collected the following:
Dataset used..............: AEDB.CEA 
Outcome analyzed..........: epcvdeath.3years 
Protein...................: MCP1_pg_ug_2015_rank 
Effect size...............: -0.103183 
Standard error............: 0.37059 
Odds ratio (effect size)..: 0.902 
Lower 95% CI..............: 0.436 
Upper 95% CI..............: 1.865 
T-value...................: -0.278429 
P-value...................: 0.7806834 
Sample size in model......: 1029 
Number of events..........: 33 
   > processing [MCP1_pg_ml_2015_rank]; 2 out of 4 proteins.
   > cross tabulation of MCP1_pg_ml_2015_rank-stratum.

[-3.34125,0.00209) [ 0.00209,3.34125] 
               600                599 

   > fitting the model for MCP1_pg_ml_2015_rank-stratum.

   > make a Kaplan-Meier-shizzle...
Vectorized input to `element_text()` is not officially supported.
Results may be unexpected or may change in future versions of ggplot2.

   > perform the Cox-regression fashizzle and plot it...

Call:
coxph(formula = Surv(TEMP.DF[, eptime], event) ~ TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]] + 
    Age + Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = TEMP.DF)

  n= 1029, number of events= 33 
   (1394 observations deleted due to missingness)

                                                                coef  exp(coef)   se(coef)      z Pr(>|z|)    
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00209,3.34125]  3.757e-02  1.038e+00  3.794e-01  0.099 0.921123    
Age                                                        7.047e-02  1.073e+00  2.723e-02  2.588 0.009658 ** 
Gendermale                                                 1.226e+00  3.407e+00  5.594e-01  2.191 0.028427 *  
ORdate_year                                               -7.706e-02  9.258e-01  7.153e-02 -1.077 0.281331    
Hypertension.compositeno                                  -1.773e+01  2.000e-08  3.957e+03 -0.004 0.996425    
Hypertension.compositeyes                                         NA         NA  0.000e+00     NA       NA    
DiabetesStatusDiabetes                                    -9.565e-03  9.905e-01  4.279e-01 -0.022 0.982165    
SmokerStatusEx-smoker                                     -5.440e-01  5.804e-01  4.052e-01 -1.342 0.179449    
SmokerStatusNever smoked                                  -3.778e-01  6.854e-01  6.197e-01 -0.610 0.542134    
Med.Statin.LLDno                                           1.675e-02  1.017e+00  4.225e-01  0.040 0.968375    
Med.Statin.LLDyes                                                 NA         NA  0.000e+00     NA       NA    
Med.all.antiplateletno                                     1.115e+00  3.050e+00  4.178e-01  2.669 0.007602 ** 
Med.all.antiplateletyes                                           NA         NA  0.000e+00     NA       NA    
GFR_MDRD                                                  -3.284e-02  9.677e-01  9.422e-03 -3.485 0.000491 ***
BMI                                                        8.583e-02  1.090e+00  5.240e-02  1.638 0.101466    
MedHx_CVDyes                                               7.410e-01  2.098e+00  4.621e-01  1.603 0.108837    
stenose0-49%                                              -2.059e+01  1.144e-09  2.687e+04 -0.001 0.999389    
stenose50-70%                                             -1.271e+00  2.805e-01  1.263e+00 -1.007 0.314004    
stenose70-90%                                             -1.782e+00  1.683e-01  1.122e+00 -1.587 0.112409    
stenose90-99%                                             -1.497e+00  2.239e-01  1.150e+00 -1.301 0.193259    
stenose100% (Occlusion)                                   -1.989e+01  2.301e-09  1.983e+04 -0.001 0.999200    
stenoseNA                                                         NA         NA  0.000e+00     NA       NA    
stenose50-99%                                             -1.943e+01  3.629e-09  3.412e+04 -0.001 0.999546    
stenose70-99%                                                     NA         NA  0.000e+00     NA       NA    
stenose99                                                         NA         NA  0.000e+00     NA       NA    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

                                                          exp(coef) exp(-coef) lower .95 upper .95
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00209,3.34125] 1.038e+00  9.631e-01   0.49356    2.1842
Age                                                       1.073e+00  9.320e-01   1.01724    1.1318
Gendermale                                                3.407e+00  2.935e-01   1.13818   10.1980
ORdate_year                                               9.258e-01  1.080e+00   0.80473    1.0652
Hypertension.compositeno                                  2.000e-08  5.000e+07   0.00000       Inf
Hypertension.compositeyes                                        NA         NA        NA        NA
DiabetesStatusDiabetes                                    9.905e-01  1.010e+00   0.42820    2.2911
SmokerStatusEx-smoker                                     5.804e-01  1.723e+00   0.26230    1.2843
SmokerStatusNever smoked                                  6.854e-01  1.459e+00   0.20343    2.3092
Med.Statin.LLDno                                          1.017e+00  9.834e-01   0.44427    2.3276
Med.Statin.LLDyes                                                NA         NA        NA        NA
Med.all.antiplateletno                                    3.050e+00  3.278e-01   1.34493    6.9181
Med.all.antiplateletyes                                          NA         NA        NA        NA
GFR_MDRD                                                  9.677e-01  1.033e+00   0.94999    0.9857
BMI                                                       1.090e+00  9.178e-01   0.98326    1.2075
MedHx_CVDyes                                              2.098e+00  4.766e-01   0.84810    5.1899
stenose0-49%                                              1.144e-09  8.743e+08   0.00000       Inf
stenose50-70%                                             2.805e-01  3.566e+00   0.02361    3.3316
stenose70-90%                                             1.683e-01  5.941e+00   0.01865    1.5191
stenose90-99%                                             2.239e-01  4.466e+00   0.02349    2.1340
stenose100% (Occlusion)                                   2.301e-09  4.346e+08   0.00000       Inf
stenoseNA                                                        NA         NA        NA        NA
stenose50-99%                                             3.629e-09  2.755e+08   0.00000       Inf
stenose70-99%                                                    NA         NA        NA        NA
stenose99                                                        NA         NA        NA        NA

Concordance= 0.844  (se = 0.031 )
Likelihood ratio test= 61.1  on 19 df,   p=3e-06
Wald test            = 21.88  on 19 df,   p=0.3
Score (logrank) test = 57.18  on 19 df,   p=1e-05


   > writing the Cox-regression fashizzle to Excel...
Summarizing Cox regression results for ' MCP1_pg_ml_2015_rank ' and its association to ' epcvdeath.3years ' in ' AEDB.CEA '.
Collecting data.

We have collected the following:
Dataset used..............: AEDB.CEA 
Outcome analyzed..........: epcvdeath.3years 
Protein...................: MCP1_pg_ml_2015_rank 
Effect size...............: 0.037572 
Standard error............: 0.37944 
Odds ratio (effect size)..: 1.038 
Lower 95% CI..............: 0.494 
Upper 95% CI..............: 2.184 
T-value...................: 0.099019 
P-value...................: 0.921123 
Sample size in model......: 1029 
Number of events..........: 33 
   > processing [MCP1_rank]; 3 out of 4 proteins.
   > cross tabulation of MCP1_rank-stratum.

[-3.12162,0.00225) [ 0.00225,3.12162] 
               278                278 

   > fitting the model for MCP1_rank-stratum.

   > make a Kaplan-Meier-shizzle...
Vectorized input to `element_text()` is not officially supported.
Results may be unexpected or may change in future versions of ggplot2.

   > perform the Cox-regression fashizzle and plot it...

Call:
coxph(formula = Surv(TEMP.DF[, eptime], event) ~ TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]] + 
    Age + Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = TEMP.DF)

  n= 493, number of events= 23 
   (1930 observations deleted due to missingness)

                                                                coef  exp(coef)   se(coef)      z Pr(>|z|)  
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00225,3.12162] -2.418e-01  7.852e-01  4.414e-01 -0.548   0.5839  
Age                                                        5.035e-02  1.052e+00  3.206e-02  1.571   0.1163  
Gendermale                                                 1.075e+00  2.930e+00  6.727e-01  1.598   0.1100  
ORdate_year                                               -1.134e-01  8.928e-01  1.951e-01 -0.581   0.5610  
Hypertension.compositeno                                  -1.802e+01  1.487e-08  4.552e+03 -0.004   0.9968  
Hypertension.compositeyes                                         NA         NA  0.000e+00     NA       NA  
DiabetesStatusDiabetes                                     5.064e-01  1.659e+00  5.312e-01  0.953   0.3405  
SmokerStatusEx-smoker                                     -6.006e-01  5.485e-01  4.733e-01 -1.269   0.2045  
SmokerStatusNever smoked                                  -1.010e-01  9.039e-01  7.296e-01 -0.138   0.8899  
Med.Statin.LLDno                                           7.451e-01  2.107e+00  4.587e-01  1.625   0.1043  
Med.Statin.LLDyes                                                 NA         NA  0.000e+00     NA       NA  
Med.all.antiplateletno                                     5.400e-01  1.716e+00  6.750e-01  0.800   0.4237  
Med.all.antiplateletyes                                           NA         NA  0.000e+00     NA       NA  
GFR_MDRD                                                  -2.044e-02  9.798e-01  1.039e-02 -1.968   0.0491 *
BMI                                                        2.176e-02  1.022e+00  5.934e-02  0.367   0.7139  
MedHx_CVDyes                                               1.312e+00  3.713e+00  6.416e-01  2.044   0.0409 *
stenose0-49%                                              -7.481e-01  4.733e-01  3.720e+04  0.000   1.0000  
stenose50-70%                                              4.915e-01  1.635e+00  2.257e+04  0.000   1.0000  
stenose70-90%                                              1.839e+01  9.706e+07  2.097e+04  0.001   0.9993  
stenose90-99%                                              1.809e+01  7.220e+07  2.097e+04  0.001   0.9993  
stenose100% (Occlusion)                                           NA         NA  0.000e+00     NA       NA  
stenoseNA                                                         NA         NA  0.000e+00     NA       NA  
stenose50-99%                                                     NA         NA  0.000e+00     NA       NA  
stenose70-99%                                                     NA         NA  0.000e+00     NA       NA  
stenose99                                                         NA         NA  0.000e+00     NA       NA  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

                                                          exp(coef) exp(-coef) lower .95 upper .95
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00225,3.12162] 7.852e-01  1.274e+00    0.3306    1.8651
Age                                                       1.052e+00  9.509e-01    0.9876    1.1199
Gendermale                                                2.930e+00  3.413e-01    0.7839   10.9510
ORdate_year                                               8.928e-01  1.120e+00    0.6091    1.3086
Hypertension.compositeno                                  1.487e-08  6.727e+07    0.0000       Inf
Hypertension.compositeyes                                        NA         NA        NA        NA
DiabetesStatusDiabetes                                    1.659e+00  6.027e-01    0.5858    4.7001
SmokerStatusEx-smoker                                     5.485e-01  1.823e+00    0.2169    1.3869
SmokerStatusNever smoked                                  9.039e-01  1.106e+00    0.2163    3.7768
Med.Statin.LLDno                                          2.107e+00  4.747e-01    0.8574    5.1763
Med.Statin.LLDyes                                                NA         NA        NA        NA
Med.all.antiplateletno                                    1.716e+00  5.827e-01    0.4571    6.4433
Med.all.antiplateletyes                                          NA         NA        NA        NA
GFR_MDRD                                                  9.798e-01  1.021e+00    0.9600    0.9999
BMI                                                       1.022e+00  9.785e-01    0.9098    1.1480
MedHx_CVDyes                                              3.713e+00  2.693e-01    1.0557   13.0574
stenose0-49%                                              4.733e-01  2.113e+00    0.0000       Inf
stenose50-70%                                             1.635e+00  6.117e-01    0.0000       Inf
stenose70-90%                                             9.706e+07  1.030e-08    0.0000       Inf
stenose90-99%                                             7.220e+07  1.385e-08    0.0000       Inf
stenose100% (Occlusion)                                          NA         NA        NA        NA
stenoseNA                                                        NA         NA        NA        NA
stenose50-99%                                                    NA         NA        NA        NA
stenose70-99%                                                    NA         NA        NA        NA
stenose99                                                        NA         NA        NA        NA

Concordance= 0.815  (se = 0.039 )
Likelihood ratio test= 33.08  on 17 df,   p=0.01
Wald test            = 12.37  on 17 df,   p=0.8
Score (logrank) test = 27.71  on 17 df,   p=0.05


   > writing the Cox-regression fashizzle to Excel...
Summarizing Cox regression results for ' MCP1_rank ' and its association to ' epcvdeath.3years ' in ' AEDB.CEA '.
Collecting data.

We have collected the following:
Dataset used..............: AEDB.CEA 
Outcome analyzed..........: epcvdeath.3years 
Protein...................: MCP1_rank 
Effect size...............: -0.241771 
Standard error............: 0.441385 
Odds ratio (effect size)..: 0.785 
Lower 95% CI..............: 0.331 
Upper 95% CI..............: 1.865 
T-value...................: -0.547755 
P-value...................: 0.5838601 
Sample size in model......: 493 
Number of events..........: 23 
   > processing [MCP1_plasma_olink_rank]; 4 out of 4 proteins.
   > cross tabulation of MCP1_plasma_olink_rank-stratum.

[-3.18339,0.00365) [ 0.00365,3.18339] 
               344                343 

   > fitting the model for MCP1_plasma_olink_rank-stratum.

   > make a Kaplan-Meier-shizzle...
Vectorized input to `element_text()` is not officially supported.
Results may be unexpected or may change in future versions of ggplot2.

   > perform the Cox-regression fashizzle and plot it...

Call:
coxph(formula = Surv(TEMP.DF[, eptime], event) ~ TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]] + 
    Age + Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = TEMP.DF)

  n= 586, number of events= 33 
   (1837 observations deleted due to missingness)

                                                                coef  exp(coef)   se(coef)      z Pr(>|z|)   
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00365,3.18339]  2.073e-01  1.230e+00  3.944e-01  0.526  0.59909   
Age                                                        4.538e-02  1.046e+00  2.596e-02  1.748  0.08044 . 
Gendermale                                                 6.195e-01  1.858e+00  4.457e-01  1.390  0.16457   
ORdate_year                                               -1.206e-01  8.864e-01  5.337e-02 -2.260  0.02384 * 
Hypertension.compositeno                                  -7.253e-01  4.842e-01  6.335e-01 -1.145  0.25226   
Hypertension.compositeyes                                         NA         NA  0.000e+00     NA       NA   
DiabetesStatusDiabetes                                     4.382e-01  1.550e+00  3.942e-01  1.112  0.26633   
SmokerStatusEx-smoker                                     -1.068e+00  3.436e-01  3.987e-01 -2.679  0.00738 **
SmokerStatusNever smoked                                  -1.029e+00  3.573e-01  6.564e-01 -1.568  0.11695   
Med.Statin.LLDno                                          -2.285e-01  7.957e-01  4.468e-01 -0.511  0.60912   
Med.Statin.LLDyes                                                 NA         NA  0.000e+00     NA       NA   
Med.all.antiplateletno                                     8.986e-01  2.456e+00  4.205e-01  2.137  0.03258 * 
Med.all.antiplateletyes                                           NA         NA  0.000e+00     NA       NA   
GFR_MDRD                                                  -1.723e-02  9.829e-01  1.005e-02 -1.715  0.08635 . 
BMI                                                       -2.760e-02  9.728e-01  5.146e-02 -0.536  0.59177   
MedHx_CVDyes                                               1.326e+00  3.765e+00  5.420e-01  2.446  0.01444 * 
stenose0-49%                                              -4.133e-01  6.615e-01  2.255e+04  0.000  0.99999   
stenose50-70%                                              1.458e+01  2.155e+06  2.179e+04  0.001  0.99947   
stenose70-90%                                              1.552e+01  5.474e+06  2.179e+04  0.001  0.99943   
stenose90-99%                                              1.520e+01  4.001e+06  2.179e+04  0.001  0.99944   
stenose100% (Occlusion)                                   -1.340e+00  2.619e-01  2.480e+04  0.000  0.99996   
stenoseNA                                                         NA         NA  0.000e+00     NA       NA   
stenose50-99%                                             -7.838e-01  4.567e-01  2.368e+04  0.000  0.99997   
stenose70-99%                                              1.679e+01  1.953e+07  2.179e+04  0.001  0.99939   
stenose99                                                         NA         NA  0.000e+00     NA       NA   
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

                                                          exp(coef) exp(-coef) lower .95 upper .95
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00365,3.18339] 1.230e+00  8.128e-01    0.5680    2.6652
Age                                                       1.046e+00  9.556e-01    0.9945    1.1011
Gendermale                                                1.858e+00  5.382e-01    0.7756    4.4509
ORdate_year                                               8.864e-01  1.128e+00    0.7983    0.9841
Hypertension.compositeno                                  4.842e-01  2.065e+00    0.1399    1.6759
Hypertension.compositeyes                                        NA         NA        NA        NA
DiabetesStatusDiabetes                                    1.550e+00  6.452e-01    0.7157    3.3560
SmokerStatusEx-smoker                                     3.436e-01  2.910e+00    0.1573    0.7507
SmokerStatusNever smoked                                  3.573e-01  2.799e+00    0.0987    1.2937
Med.Statin.LLDno                                          7.957e-01  1.257e+00    0.3315    1.9104
Med.Statin.LLDyes                                                NA         NA        NA        NA
Med.all.antiplateletno                                    2.456e+00  4.071e-01    1.0774    5.5997
Med.all.antiplateletyes                                          NA         NA        NA        NA
GFR_MDRD                                                  9.829e-01  1.017e+00    0.9638    1.0025
BMI                                                       9.728e-01  1.028e+00    0.8794    1.0760
MedHx_CVDyes                                              3.765e+00  2.656e-01    1.3015   10.8923
stenose0-49%                                              6.615e-01  1.512e+00    0.0000       Inf
stenose50-70%                                             2.155e+06  4.640e-07    0.0000       Inf
stenose70-90%                                             5.474e+06  1.827e-07    0.0000       Inf
stenose90-99%                                             4.001e+06  2.499e-07    0.0000       Inf
stenose100% (Occlusion)                                   2.619e-01  3.818e+00    0.0000       Inf
stenoseNA                                                        NA         NA        NA        NA
stenose50-99%                                             4.567e-01  2.190e+00    0.0000       Inf
stenose70-99%                                             1.953e+07  5.121e-08    0.0000       Inf
stenose99                                                        NA         NA        NA        NA

Concordance= 0.807  (se = 0.034 )
Likelihood ratio test= 46.65  on 20 df,   p=7e-04
Wald test            = 29.44  on 20 df,   p=0.08
Score (logrank) test = 44.39  on 20 df,   p=0.001


   > writing the Cox-regression fashizzle to Excel...
Summarizing Cox regression results for ' MCP1_plasma_olink_rank ' and its association to ' epcvdeath.3years ' in ' AEDB.CEA '.
Collecting data.

We have collected the following:
Dataset used..............: AEDB.CEA 
Outcome analyzed..........: epcvdeath.3years 
Protein...................: MCP1_plasma_olink_rank 
Effect size...............: 0.207324 
Standard error............: 0.394367 
Odds ratio (effect size)..: 1.23 
Lower 95% CI..............: 0.568 
Upper 95% CI..............: 2.665 
T-value...................: 0.525714 
P-value...................: 0.5990869 
Sample size in model......: 586 
Number of events..........: 33 

cat("- Edit the column names...\n")
- Edit the column names...
colnames(COX.results) = c("Dataset", "Outcome", "CpG",
                          "Beta", "s.e.m.",
                          "HR", "low95CI", "up95CI",
                          "Z-value", "P-value", "SampleSize", "N_events")

cat("- Correct the variable types...\n")
- Correct the variable types...
COX.results$Beta <- as.numeric(COX.results$Beta)
COX.results$s.e.m. <- as.numeric(COX.results$s.e.m.)
COX.results$HR <- as.numeric(COX.results$HR)
COX.results$low95CI <- as.numeric(COX.results$low95CI)
COX.results$up95CI <- as.numeric(COX.results$up95CI)
COX.results$`Z-value` <- as.numeric(COX.results$`Z-value`)
COX.results$`P-value` <- as.numeric(COX.results$`P-value`)
COX.results$SampleSize <- as.numeric(COX.results$SampleSize)
COX.results$N_events <- as.numeric(COX.results$N_events)

AEDB.CEA.COX.results <- COX.results

# Save the data
cat("- Writing results to Excel-file...\n")
- Writing results to Excel-file...
head.style <- createStyle(textDecoration = "BOLD")
write.xlsx(AEDB.CEA.COX.results,
           file = paste0(OUT_loc, "/",Today,".AEDB.CEA.Cox.2G.MODEL2.xlsx"),
           creator = "Sander W. van der Laan",
           sheetName = "Results", headerStyle = head.style,
           row.names = FALSE, col.names = TRUE, overwrite = TRUE)

# Removing intermediates
cat("- Removing intermediate files...\n")
- Removing intermediate files...
rm(TEMP.DF, protein, fit, cox, coxplot, COX.results, COX.results.TEMP, head.style, AEDB.CEA.COX.results)

rm(head.style)
object 'head.style' not found

30-days follow-up

MODEL 1

# Set up a dataframe to receive results
COX.results <- data.frame(matrix(NA, ncol = 12, nrow = 0))

# Looping over each protein/endpoint/time combination
for (i in 1:length(times30)){
  eptime = times30[i]
  ep = endpoints30[i]
  cat(paste0("* Analyzing the effect of plaque proteins on [",ep,"].\n"))
  cat(" - creating temporary SE for this work.\n")
  TEMP.DF = as.data.frame(AEDB.CEA)
  cat(" - making a 'Surv' object and adding this to temporary dataframe.\n")
  TEMP.DF$event <- as.integer(TEMP.DF[,ep])
  TEMP.DF$y <- Surv(time = TEMP.DF[,eptime], event = TEMP.DF$event)
  cat(" - making strata of each of the plaque proteins and start survival analysis.\n")
  
  for (protein in 1:length(TRAITS.PROTEIN.RANK)){
    cat(paste0("   > processing [",TRAITS.PROTEIN.RANK[protein],"]; ",protein," out of ",length(TRAITS.PROTEIN.RANK)," proteins.\n"))
    # splitting into two groups
    TEMP.DF[[ TRAITS.PROTEIN.RANK[protein] ]] <- cut2(TEMP.DF[,TRAITS.PROTEIN.RANK[protein]], g = 2)
    cat(paste0("   > cross tabulation of ",TRAITS.PROTEIN.RANK[protein],"-stratum.\n"))
    show(table(TEMP.DF[[ TRAITS.PROTEIN.RANK[protein] ]]))
    
    cat(paste0("\n   > fitting the model for ",TRAITS.PROTEIN.RANK[protein],"-stratum.\n"))
    fit <- survfit(as.formula(paste0("y ~ ", TRAITS.PROTEIN.RANK[protein])), data = TEMP.DF)
    
    cat(paste0("\n   > make a Kaplan-Meier-shizzle...\n"))
    # make Kaplan-Meier curve and save it
    show(ggsurvplot(fit, data = TEMP.DF,
                    palette = c("#DB003F", "#1290D9"),
                    # palete = c("F59D10", "#DB003F", "#49A01D", "#1290D9"),
                    linetype = c(1,2),
                    ylim = c(0.75, 1),
                    # linetype = c(1,2,3,4),
                    # conf.int = FALSE, conf.int.fill = "#595A5C", conf.int.alpha = 0.1,
                    pval = FALSE, pval.method = FALSE, pval.size = 4,
                    risk.table = TRUE, risk.table.y.text = FALSE, tables.y.text.col = TRUE, fontsize = 4,
                    censor = FALSE,
                    legend = "right",
                    legend.title = paste0("",TRAITS.PROTEIN.RANK[protein],""),
                    legend.labs = c("low", "high"),
                    title = paste0("Risk of ",ep,""), xlab = "Time [days]", font.main = c(16, "bold", "black")))
    dev.copy2pdf(file = paste0(COX_loc,"/",
                               Today,".AEDB.CEA.survival.",ep,".2G.",
                               TRAITS.PROTEIN.RANK[protein],".30days.pdf"), width = 12, height = 10, onefile = FALSE)

    cat(paste0("\n   > perform the Cox-regression fashizzle and plot it...\n"))
    ### Do Cox-regression and plot it
    
    ### MODEL 1 (Simple model)
    cox = coxph(Surv(TEMP.DF[,eptime], event) ~ TEMP.DF[[ TRAITS.PROTEIN.RANK[protein] ]]+Age+Gender + ORdate_year, data = TEMP.DF)
    coxplot = coxph(Surv(TEMP.DF[,eptime], event) ~ strata(TEMP.DF[[ TRAITS.PROTEIN.RANK[protein] ]])+Age+Gender + ORdate_year, data = TEMP.DF)

    plot(survfit(coxplot), main = paste0("Cox proportional hazard of [",ep,"] per [",eptime,"]."),
         ylim = c(0.75, 1), xlim = c(0,3), col = c("#595A5C", "#DB003F", "#1290D9"),
         # ylim = c(0, 1), xlim = c(0,3), col = c("#DB003F", "#1290D9"),
         lty = c(1,2), lwd = 2,
         ylab = "Suvival probability", xlab = "FU time [days]",
         mark.time = FALSE, axes = FALSE, bty = "n")
    legend("topright",
           c("low", "high"),
           title = paste0("",TRAITS.PROTEIN.RANK[protein],""),
           col = c("#DB003F", "#1290D9"),
           lty = c(1,2), lwd = 2,
           bty = "n")
    axis(side = 1, at = seq(0, 3, by = 1))
    axis(side = 2, at = seq(0, 1, by = 0.2))
    dev.copy2pdf(file = paste0(COX_loc,"/",
                               Today,".AEDB.CEA.Cox.",ep,".2G.",
                               # Today,".AEDB.CEA.Cox.",ep,".4G.",
                               TRAITS.PROTEIN.RANK[protein],".MODEL1.30days.pdf"), height = 12, width = 10, onefile = TRUE)
    show(summary(cox))

    cat(paste0("\n   > writing the Cox-regression fashizzle to Excel...\n"))

    COX.results.TEMP <- data.frame(matrix(NA, ncol = 12, nrow = 0))
    COX.results.TEMP[1,] = COX.STAT(cox, "AEDB.CEA", ep, TRAITS.PROTEIN.RANK[protein])
    COX.results = rbind(COX.results, COX.results.TEMP)

  }
}

cat("- Edit the column names...\n")
colnames(COX.results) = c("Dataset", "Outcome", "CpG",
                          "Beta", "s.e.m.",
                          "HR", "low95CI", "up95CI",
                          "Z-value", "P-value", "SampleSize", "N_events")

cat("- Correct the variable types...\n")
COX.results$Beta <- as.numeric(COX.results$Beta)
COX.results$s.e.m. <- as.numeric(COX.results$s.e.m.)
COX.results$HR <- as.numeric(COX.results$HR)
COX.results$low95CI <- as.numeric(COX.results$low95CI)
COX.results$up95CI <- as.numeric(COX.results$up95CI)
COX.results$`Z-value` <- as.numeric(COX.results$`Z-value`)
COX.results$`P-value` <- as.numeric(COX.results$`P-value`)
COX.results$SampleSize <- as.numeric(COX.results$SampleSize)
COX.results$N_events <- as.numeric(COX.results$N_events)

AEDB.CEA.COX.results <- COX.results

# Save the data
library(openxlsx)
cat("- Writing results to Excel-file...\n")
head.style <- createStyle(textDecoration = "BOLD")
write.xlsx(AEDB.CEA.COX.results,
           file = paste0(OUT_loc, "/",Today,".AEDB.CEA.Cox.2G.MODEL1.30days.xlsx"),
           creator = "Sander W. van der Laan",
           sheetName = "Results", headerStyle = head.style,
           row.names = FALSE, col.names = TRUE, overwrite = TRUE)

# Removing intermediates
cat("- Removing intermediate files...\n")
#rm(TEMP.DF, protein, fit, cox, coxplot, COX.results, COX.results.TEMP, head.style, AEDB.CEA.COX.results)

#rm(head.style)

MODEL 2

# Set up a dataframe to receive results
COX.results <- data.frame(matrix(NA, ncol = 12, nrow = 0))

# Looping over each protein/endpoint/time combination
for (i in 1:length(times30)){
  eptime = times30[i]
  ep = endpoints30[i]
  cat(paste0("* Analyzing the effect of plaque proteins on [",ep,"].\n"))
  cat(" - creating temporary SE for this work.\n")
  TEMP.DF = as.data.frame(AEDB.CEA)
  cat(" - making a 'Surv' object and adding this to temporary dataframe.\n")
  TEMP.DF$event <- as.integer(TEMP.DF[,ep])
  #as.integer(TEMP.DF[,ep] == "Excluded")

  TEMP.DF$y <- Surv(time = TEMP.DF[,eptime], event = TEMP.DF$event)
  cat(" - making strata of each of the plaque proteins and start survival analysis.\n")
  
  for (protein in 1:length(TRAITS.PROTEIN.RANK)){
    cat(paste0("   > processing [",TRAITS.PROTEIN.RANK[protein],"]; ",protein," out of ",length(TRAITS.PROTEIN.RANK)," proteins.\n"))
    # splitting into two groups
    TEMP.DF[[ TRAITS.PROTEIN.RANK[protein] ]] <- cut2(TEMP.DF[,TRAITS.PROTEIN.RANK[protein]], g = 2)
    cat(paste0("   > cross tabulation of ",TRAITS.PROTEIN.RANK[protein],"-stratum.\n"))
    show(table(TEMP.DF[[ TRAITS.PROTEIN.RANK[protein] ]]))
    
    cat(paste0("\n   > fitting the model for ",TRAITS.PROTEIN.RANK[protein],"-stratum.\n"))
    fit <- survfit(as.formula(paste0("y ~ ", TRAITS.PROTEIN.RANK[protein])), data = TEMP.DF)
    
    cat(paste0("\n   > make a Kaplan-Meier-shizzle...\n"))
    # make Kaplan-Meier curve and save it
    show(ggsurvplot(fit, data = TEMP.DF,
                    palette = c("#DB003F", "#1290D9"),
                    # palete = c("F59D10", "#DB003F", "#49A01D", "#1290D9"),
                    linetype = c(1,2),
                    ylim = c(0.75, 1),
                    # linetype = c(1,2,3,4),
                    # conf.int = FALSE, conf.int.fill = "#595A5C", conf.int.alpha = 0.1,
                    pval = FALSE, pval.method = FALSE, pval.size = 4,
                    risk.table = TRUE, risk.table.y.text = FALSE, tables.y.text.col = TRUE, fontsize = 4,
                    censor = FALSE,
                    legend = "right",
                    legend.title = paste0("",TRAITS.PROTEIN.RANK[protein],""),
                    legend.labs = c("low", "high"),
                    title = paste0("Risk of ",ep,""), xlab = "Time [days]", font.main = c(16, "bold", "black")))
    dev.copy2pdf(file = paste0(COX_loc,"/",
                               Today,".AEDB.CEA.survival.",ep,".2G.",
                               TRAITS.PROTEIN.RANK[protein],".30days.pdf"), width = 12, height = 10, onefile = FALSE)

    cat(paste0("\n   > perform the Cox-regression fashizzle and plot it...\n"))
    ### Do Cox-regression and plot it
    
    ### MODEL 2 adjusted for age, sex, hypertension, diabetes, smoking, LDL-C levels, lipid-lowering drugs, antiplatelet drugs, eGFR, BMI, history of CVD, level of stenosis
    cox = coxph(Surv(TEMP.DF[,eptime], event) ~ TEMP.DF[[ TRAITS.PROTEIN.RANK[protein] ]]+Age + Gender + ORdate_year + Hypertension.composite + DiabetesStatus + SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + BMI + MedHx_CVD + stenose, data = TEMP.DF)
    coxplot = coxph(Surv(TEMP.DF[,eptime], event) ~ strata(TEMP.DF[[ TRAITS.PROTEIN.RANK[protein] ]])+Age + Gender + ORdate_year + Hypertension.composite + DiabetesStatus + SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + BMI + MedHx_CVD + stenose, data = TEMP.DF)

  
    plot(survfit(coxplot), main = paste0("Cox proportional hazard of [",ep,"] per [",eptime,"]."),
         ylim = c(0.75, 1), xlim = c(0,3), col = c("#DB003F", "#1290D9"),
         # ylim = c(0, 1), xlim = c(0,3), col = c("#DB003F", "#1290D9"),
         lty = c(1,2), lwd = 2,
         ylab = "Suvival probability", xlab = "FU time [days]",
         mark.time = FALSE, axes = FALSE, bty = "n")
    legend("topright",
           c("low", "high"),
           title = paste0("",TRAITS.PROTEIN.RANK[protein],""),
           col = c("#DB003F", "#1290D9"),
           lty = c(1,2), lwd = 2,
           bty = "n")
    axis(side = 1, at = seq(0, 3, by = 1))
    axis(side = 2, at = seq(0, 1, by = 0.2))
    dev.copy2pdf(file = paste0(COX_loc,"/",
                               Today,".AEDB.CEA.Cox.",ep,".2G.",
                               # Today,".AEDB.CEA.Cox.",ep,".4G.",
                               TRAITS.PROTEIN.RANK[protein],".MODEL2.30days.pdf"), height = 12, width = 10, onefile = TRUE)

    show(summary(cox))

    cat(paste0("\n   > writing the Cox-regression fashizzle to Excel...\n"))

    COX.results.TEMP <- data.frame(matrix(NA, ncol = 12, nrow = 0))
    COX.results.TEMP[1,] = COX.STAT(cox, "AEDB.CEA", ep, TRAITS.PROTEIN.RANK[protein])
    COX.results = rbind(COX.results, COX.results.TEMP)

  }
}

cat("- Edit the column names...\n")
colnames(COX.results) = c("Dataset", "Outcome", "CpG",
                          "Beta", "s.e.m.",
                          "HR", "low95CI", "up95CI",
                          "Z-value", "P-value", "SampleSize", "N_events")

cat("- Correct the variable types...\n")
COX.results$Beta <- as.numeric(COX.results$Beta)
COX.results$s.e.m. <- as.numeric(COX.results$s.e.m.)
COX.results$HR <- as.numeric(COX.results$HR)
COX.results$low95CI <- as.numeric(COX.results$low95CI)
COX.results$up95CI <- as.numeric(COX.results$up95CI)
COX.results$`Z-value` <- as.numeric(COX.results$`Z-value`)
COX.results$`P-value` <- as.numeric(COX.results$`P-value`)
COX.results$SampleSize <- as.numeric(COX.results$SampleSize)
COX.results$N_events <- as.numeric(COX.results$N_events)

AEDB.CEA.COX.results <- COX.results

# Save the data
cat("- Writing results to Excel-file...\n")
head.style <- createStyle(textDecoration = "BOLD")
write.xlsx(AEDB.CEA.COX.results,
           file = paste0(OUT_loc, "/",Today,".AEDB.CEA.Cox.2G.MODEL2.30days.xlsx"),
           creator = "Sander W. van der Laan",
           sheetName = "Results", headerStyle = head.style,
           row.names = FALSE, col.names = TRUE, overwrite = TRUE)

# Removing intermediates
cat("- Removing intermediate files...\n")
rm(TEMP.DF, protein, fit, cox, coxplot, COX.results, COX.results.TEMP, head.style, AEDB.CEA.COX.results)

rm(head.style)

90-days follow-up

MODEL 1

# Set up a dataframe to receive results
COX.results <- data.frame(matrix(NA, ncol = 12, nrow = 0))

# Looping over each protein/endpoint/time combination
for (i in 1:length(times90)){
  eptime = times90[i]
  ep = endpoints90[i]
  cat(paste0("* Analyzing the effect of plaque proteins on [",ep,"].\n"))
  cat(" - creating temporary SE for this work.\n")
  TEMP.DF = as.data.frame(AEDB.CEA)
  cat(" - making a 'Surv' object and adding this to temporary dataframe.\n")
  TEMP.DF$event <- as.integer(TEMP.DF[,ep])
  TEMP.DF$y <- Surv(time = TEMP.DF[,eptime], event = TEMP.DF$event)
  cat(" - making strata of each of the plaque proteins and start survival analysis.\n")
  
  for (protein in 1:length(TRAITS.PROTEIN.RANK)){
    cat(paste0("   > processing [",TRAITS.PROTEIN.RANK[protein],"]; ",protein," out of ",length(TRAITS.PROTEIN.RANK)," proteins.\n"))
    # splitting into two groups
    TEMP.DF[[ TRAITS.PROTEIN.RANK[protein] ]] <- cut2(TEMP.DF[,TRAITS.PROTEIN.RANK[protein]], g = 2)
    cat(paste0("   > cross tabulation of ",TRAITS.PROTEIN.RANK[protein],"-stratum.\n"))
    show(table(TEMP.DF[[ TRAITS.PROTEIN.RANK[protein] ]]))
    
    cat(paste0("\n   > fitting the model for ",TRAITS.PROTEIN.RANK[protein],"-stratum.\n"))
    fit <- survfit(as.formula(paste0("y ~ ", TRAITS.PROTEIN.RANK[protein])), data = TEMP.DF)
    
    cat(paste0("\n   > make a Kaplan-Meier-shizzle...\n"))
    # make Kaplan-Meier curve and save it
    show(ggsurvplot(fit, data = TEMP.DF,
                    palette = c("#DB003F", "#1290D9"),
                    # palete = c("F59D10", "#DB003F", "#49A01D", "#1290D9"),
                    linetype = c(1,2),
                    ylim = c(0.75, 1),
                    # linetype = c(1,2,3,4),
                    # conf.int = FALSE, conf.int.fill = "#595A5C", conf.int.alpha = 0.1,
                    pval = FALSE, pval.method = FALSE, pval.size = 4,
                    risk.table = TRUE, risk.table.y.text = FALSE, tables.y.text.col = TRUE, fontsize = 4,
                    censor = FALSE,
                    legend = "right",
                    legend.title = paste0("",TRAITS.PROTEIN.RANK[protein],""),
                    legend.labs = c("low", "high"),
                    title = paste0("Risk of ",ep,""), xlab = "Time [days]", font.main = c(16, "bold", "black")))
    dev.copy2pdf(file = paste0(COX_loc,"/",
                               Today,".AEDB.CEA.survival.",ep,".2G.",
                               TRAITS.PROTEIN.RANK[protein],".90days.pdf"), width = 12, height = 10, onefile = FALSE)

    cat(paste0("\n   > perform the Cox-regression fashizzle and plot it...\n"))
    ### Do Cox-regression and plot it
    
    ### MODEL 1 (Simple model)
    cox = coxph(Surv(TEMP.DF[,eptime], event) ~ TEMP.DF[[ TRAITS.PROTEIN.RANK[protein] ]]+Age+Gender + ORdate_year, data = TEMP.DF)
    coxplot = coxph(Surv(TEMP.DF[,eptime], event) ~ strata(TEMP.DF[[ TRAITS.PROTEIN.RANK[protein] ]])+Age+Gender + ORdate_year, data = TEMP.DF)

    plot(survfit(coxplot), main = paste0("Cox proportional hazard of [",ep,"] per [",eptime,"]."),
         ylim = c(0.75, 1), xlim = c(0,3), col = c("#595A5C", "#DB003F", "#1290D9"),
         # ylim = c(0, 1), xlim = c(0,3), col = c("#DB003F", "#1290D9"),
         lty = c(1,2), lwd = 2,
         ylab = "Suvival probability", xlab = "FU time [days]",
         mark.time = FALSE, axes = FALSE, bty = "n")
    legend("topright",
           c("low", "high"),
           title = paste0("",TRAITS.PROTEIN.RANK[protein],""),
           col = c("#DB003F", "#1290D9"),
           lty = c(1,2), lwd = 2,
           bty = "n")
    axis(side = 1, at = seq(0, 3, by = 1))
    axis(side = 2, at = seq(0, 1, by = 0.2))
    dev.copy2pdf(file = paste0(COX_loc,"/",
                               Today,".AEDB.CEA.Cox.",ep,".2G.",
                               # Today,".AEDB.CEA.Cox.",ep,".4G.",
                               TRAITS.PROTEIN.RANK[protein],".MODEL1.90days.pdf"), height = 12, width = 10, onefile = TRUE)
    show(summary(cox))

    cat(paste0("\n   > writing the Cox-regression fashizzle to Excel...\n"))

    COX.results.TEMP <- data.frame(matrix(NA, ncol = 12, nrow = 0))
    COX.results.TEMP[1,] = COX.STAT(cox, "AEDB.CEA", ep, TRAITS.PROTEIN.RANK[protein])
    COX.results = rbind(COX.results, COX.results.TEMP)

  }
}

cat("- Edit the column names...\n")
colnames(COX.results) = c("Dataset", "Outcome", "CpG",
                          "Beta", "s.e.m.",
                          "HR", "low95CI", "up95CI",
                          "Z-value", "P-value", "SampleSize", "N_events")

cat("- Correct the variable types...\n")
COX.results$Beta <- as.numeric(COX.results$Beta)
COX.results$s.e.m. <- as.numeric(COX.results$s.e.m.)
COX.results$HR <- as.numeric(COX.results$HR)
COX.results$low95CI <- as.numeric(COX.results$low95CI)
COX.results$up95CI <- as.numeric(COX.results$up95CI)
COX.results$`Z-value` <- as.numeric(COX.results$`Z-value`)
COX.results$`P-value` <- as.numeric(COX.results$`P-value`)
COX.results$SampleSize <- as.numeric(COX.results$SampleSize)
COX.results$N_events <- as.numeric(COX.results$N_events)

AEDB.CEA.COX.results <- COX.results

# Save the data
library(openxlsx)
cat("- Writing results to Excel-file...\n")
head.style <- createStyle(textDecoration = "BOLD")
write.xlsx(AEDB.CEA.COX.results,
           file = paste0(OUT_loc, "/",Today,".AEDB.CEA.Cox.2G.MODEL1.90days.xlsx"),
           creator = "Sander W. van der Laan",
           sheetName = "Results", headerStyle = head.style,
           row.names = FALSE, col.names = TRUE, overwrite = TRUE)

# Removing intermediates
cat("- Removing intermediate files...\n")
#rm(TEMP.DF, protein, fit, cox, coxplot, COX.results, COX.results.TEMP, head.style, AEDB.CEA.COX.results)

#rm(head.style)

MODEL 2

# Set up a dataframe to receive results
COX.results <- data.frame(matrix(NA, ncol = 12, nrow = 0))

# Looping over each protein/endpoint/time combination
for (i in 1:length(times90)){
  eptime = times90[i]
  ep = endpoints90[i]
  cat(paste0("* Analyzing the effect of plaque proteins on [",ep,"].\n"))
  cat(" - creating temporary SE for this work.\n")
  TEMP.DF = as.data.frame(AEDB.CEA)
  cat(" - making a 'Surv' object and adding this to temporary dataframe.\n")
  TEMP.DF$event <- as.integer(TEMP.DF[,ep])
  #as.integer(TEMP.DF[,ep] == "Excluded")

  TEMP.DF$y <- Surv(time = TEMP.DF[,eptime], event = TEMP.DF$event)
  cat(" - making strata of each of the plaque proteins and start survival analysis.\n")
  
  for (protein in 1:length(TRAITS.PROTEIN.RANK)){
    cat(paste0("   > processing [",TRAITS.PROTEIN.RANK[protein],"]; ",protein," out of ",length(TRAITS.PROTEIN.RANK)," proteins.\n"))
    # splitting into two groups
    TEMP.DF[[ TRAITS.PROTEIN.RANK[protein] ]] <- cut2(TEMP.DF[,TRAITS.PROTEIN.RANK[protein]], g = 2)
    cat(paste0("   > cross tabulation of ",TRAITS.PROTEIN.RANK[protein],"-stratum.\n"))
    show(table(TEMP.DF[[ TRAITS.PROTEIN.RANK[protein] ]]))
    
    cat(paste0("\n   > fitting the model for ",TRAITS.PROTEIN.RANK[protein],"-stratum.\n"))
    fit <- survfit(as.formula(paste0("y ~ ", TRAITS.PROTEIN.RANK[protein])), data = TEMP.DF)
    
    cat(paste0("\n   > make a Kaplan-Meier-shizzle...\n"))
    # make Kaplan-Meier curve and save it
    show(ggsurvplot(fit, data = TEMP.DF,
                    palette = c("#DB003F", "#1290D9"),
                    # palete = c("F59D10", "#DB003F", "#49A01D", "#1290D9"),
                    linetype = c(1,2),
                    ylim = c(0.75, 1),
                    # linetype = c(1,2,3,4),
                    # conf.int = FALSE, conf.int.fill = "#595A5C", conf.int.alpha = 0.1,
                    pval = FALSE, pval.method = FALSE, pval.size = 4,
                    risk.table = TRUE, risk.table.y.text = FALSE, tables.y.text.col = TRUE, fontsize = 4,
                    censor = FALSE,
                    legend = "right",
                    legend.title = paste0("",TRAITS.PROTEIN.RANK[protein],""),
                    legend.labs = c("low", "high"),
                    title = paste0("Risk of ",ep,""), xlab = "Time [days]", font.main = c(16, "bold", "black")))
    dev.copy2pdf(file = paste0(COX_loc,"/",
                               Today,".AEDB.CEA.survival.",ep,".2G.",
                               TRAITS.PROTEIN.RANK[protein],".90days.pdf"), width = 12, height = 10, onefile = FALSE)

    cat(paste0("\n   > perform the Cox-regression fashizzle and plot it...\n"))
    ### Do Cox-regression and plot it
    
    ### MODEL 2 adjusted for age, sex, hypertension, diabetes, smoking, LDL-C levels, lipid-lowering drugs, antiplatelet drugs, eGFR, BMI, history of CVD, level of stenosis
    cox = coxph(Surv(TEMP.DF[,eptime], event) ~ TEMP.DF[[ TRAITS.PROTEIN.RANK[protein] ]]+Age + Gender + ORdate_year + Hypertension.composite + DiabetesStatus + SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + BMI + MedHx_CVD + stenose, data = TEMP.DF)
    coxplot = coxph(Surv(TEMP.DF[,eptime], event) ~ strata(TEMP.DF[[ TRAITS.PROTEIN.RANK[protein] ]])+Age + Gender + ORdate_year + Hypertension.composite + DiabetesStatus + SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + BMI + MedHx_CVD + stenose, data = TEMP.DF)

  
    plot(survfit(coxplot), main = paste0("Cox proportional hazard of [",ep,"] per [",eptime,"]."),
         ylim = c(0.75, 1), xlim = c(0,3), col = c("#DB003F", "#1290D9"),
         # ylim = c(0, 1), xlim = c(0,3), col = c("#DB003F", "#1290D9"),
         lty = c(1,2), lwd = 2,
         ylab = "Suvival probability", xlab = "FU time [days]",
         mark.time = FALSE, axes = FALSE, bty = "n")
    legend("topright",
           c("low", "high"),
           title = paste0("",TRAITS.PROTEIN.RANK[protein],""),
           col = c("#DB003F", "#1290D9"),
           lty = c(1,2), lwd = 2,
           bty = "n")
    axis(side = 1, at = seq(0, 3, by = 1))
    axis(side = 2, at = seq(0, 1, by = 0.2))
    dev.copy2pdf(file = paste0(COX_loc,"/",
                               Today,".AEDB.CEA.Cox.",ep,".2G.",
                               # Today,".AEDB.CEA.Cox.",ep,".4G.",
                               TRAITS.PROTEIN.RANK[protein],".MODEL2.90days.pdf"), height = 12, width = 10, onefile = TRUE)

    show(summary(cox))

    cat(paste0("\n   > writing the Cox-regression fashizzle to Excel...\n"))

    COX.results.TEMP <- data.frame(matrix(NA, ncol = 12, nrow = 0))
    COX.results.TEMP[1,] = COX.STAT(cox, "AEDB.CEA", ep, TRAITS.PROTEIN.RANK[protein])
    COX.results = rbind(COX.results, COX.results.TEMP)

  }
}

cat("- Edit the column names...\n")
colnames(COX.results) = c("Dataset", "Outcome", "CpG",
                          "Beta", "s.e.m.",
                          "HR", "low95CI", "up95CI",
                          "Z-value", "P-value", "SampleSize", "N_events")

cat("- Correct the variable types...\n")
COX.results$Beta <- as.numeric(COX.results$Beta)
COX.results$s.e.m. <- as.numeric(COX.results$s.e.m.)
COX.results$HR <- as.numeric(COX.results$HR)
COX.results$low95CI <- as.numeric(COX.results$low95CI)
COX.results$up95CI <- as.numeric(COX.results$up95CI)
COX.results$`Z-value` <- as.numeric(COX.results$`Z-value`)
COX.results$`P-value` <- as.numeric(COX.results$`P-value`)
COX.results$SampleSize <- as.numeric(COX.results$SampleSize)
COX.results$N_events <- as.numeric(COX.results$N_events)

AEDB.CEA.COX.results <- COX.results

# Save the data
cat("- Writing results to Excel-file...\n")
head.style <- createStyle(textDecoration = "BOLD")
write.xlsx(AEDB.CEA.COX.results,
           file = paste0(OUT_loc, "/",Today,".AEDB.CEA.Cox.2G.MODEL2.90days.xlsx"),
           creator = "Sander W. van der Laan",
           sheetName = "Results", headerStyle = head.style,
           row.names = FALSE, col.names = TRUE, overwrite = TRUE)

# Removing intermediates
cat("- Removing intermediate files...\n")
rm(TEMP.DF, protein, fit, cox, coxplot, COX.results, COX.results.TEMP, head.style, AEDB.CEA.COX.results)

rm(head.style)

Correlations

We correlated plasma and plaque levels of the biomarkers.

MCP1 plaque levels


# Installation of ggcorrplot()
# --------------------------------
if(!require(devtools)) 
  install.packages("devtools")
devtools::install_github("kassambara/ggcorrplot")
Skipping install of 'ggcorrplot' from a github remote, the SHA1 (c46b4cce) has not changed since last install.
  Use `force = TRUE` to force installation
library(ggcorrplot)


# Creating matrix - inverse-rank transformation
# --------------------------------
# AEDB.CEA.temp <- subset(AEDB.CEA, 
#                           select = c("IL6_rank", "MCP1_rank", "IL6_pg_ug_2015_rank", "MCP1_pg_ug_2015_rank", "IL6R_pg_ug_2015_rank",
#                                                TRAITS.BIN, TRAITS.CON.RANK)
#                                     )
# AEDB.CEA.temp <- subset(AEDB.CEA, 
#                           select = c("MCP1_rank", "MCP1_pg_ug_2015_rank",
#                                                TRAITS.BIN, TRAITS.CON.RANK)
#                                     )
AEDB.CEA.temp <- subset(AEDB.CEA, 
                          select = c("MCP1_pg_ug_2015_rank",
                                     TRAITS.BIN, 
                                     TRAITS.CON.RANK,
                                     "Symptoms.5G", "AsymptSympt", "EP_major", "EP_composite")
                                    )


AEDB.CEA.temp$CalcificationPlaque <- as.numeric(AEDB.CEA.temp$CalcificationPlaque)
AEDB.CEA.temp$CollagenPlaque <- as.numeric(AEDB.CEA.temp$CollagenPlaque)
AEDB.CEA.temp$Fat10Perc <- as.numeric(AEDB.CEA.temp$Fat10Perc)
AEDB.CEA.temp$MAC_binned <- as.numeric(AEDB.CEA.temp$MAC_binned)
AEDB.CEA.temp$SMC_binned <- as.numeric(AEDB.CEA.temp$SMC_binned)
AEDB.CEA.temp$IPH <- as.numeric(AEDB.CEA.temp$IPH)
AEDB.CEA.temp$Symptoms.5G <- as.numeric(AEDB.CEA.temp$Symptoms.5G)
AEDB.CEA.temp$AsymptSympt <- as.numeric(AEDB.CEA.temp$AsymptSympt)
AEDB.CEA.temp$EP_major <- as.numeric(AEDB.CEA.temp$EP_major)
AEDB.CEA.temp$EP_composite <- as.numeric(AEDB.CEA.temp$EP_composite)
str(AEDB.CEA.temp)
'data.frame':   2423 obs. of  14 variables:
 $ MCP1_pg_ug_2015_rank: num  0.9383 1.9962 1.2595 -0.6407 -0.0387 ...
 $ CalcificationPlaque : num  1 1 2 1 2 1 2 1 2 2 ...
 $ CollagenPlaque      : num  2 2 2 2 2 1 2 2 2 1 ...
 $ Fat10Perc           : num  2 2 1 2 2 2 1 2 2 2 ...
 $ IPH                 : num  2 1 2 2 2 2 1 2 2 2 ...
 $ MAC_binned          : num  1 1 1 1 NA 1 1 2 2 1 ...
 $ SMC_binned          : num  1 2 2 2 1 2 2 2 2 1 ...
 $ Macrophages_rank    : num  1.121 0.396 0.29 0.32 -2.316 ...
 $ SMC_rank            : num  1.132 1.27 1.307 0.783 -0.828 ...
 $ VesselDensity_rank  : num  -0.978 1.1 -0.858 -1.068 -0.231 ...
 $ Symptoms.5G         : num  5 6 5 2 6 6 2 6 6 5 ...
 $ AsymptSympt         : num  3 3 3 2 3 3 2 3 3 3 ...
 $ EP_major            : num  0 0 0 1 1 0 0 0 1 1 ...
 $ EP_composite        : num  2 2 2 3 3 2 2 2 3 3 ...
AEDB.CEA.matrix.RANK <- as.matrix(AEDB.CEA.temp)
rm(AEDB.CEA.temp)

corr_biomarkers.rank <- round(cor(AEDB.CEA.matrix.RANK, 
                             use = "pairwise.complete.obs", #the correlation or covariance between each pair of variables is computed using all complete pairs of observations on those variables
                             method = "spearman"), 3)
# corr_biomarkers.rank

corr_biomarkers_p.rank <- ggcorrplot::cor_pmat(AEDB.CEA.matrix.RANK, use = "pairwise.complete.obs", method = "spearman")
Cannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with ties
# Add correlation coefficients
# --------------------------------
# argument lab = TRUE
ggcorrplot(corr_biomarkers.rank, 
           method = "square", 
           type = "lower",
           title = "Cross biomarker correlations", 
           show.legend = TRUE, legend.title = bquote("Spearman's"~italic(rho)),
           ggtheme = ggplot2::theme_minimal, outline.color = "#FFFFFF",
           show.diag = TRUE,
           hc.order = FALSE, 
           lab = FALSE,
           digits = 3,
           # p.mat = corr_biomarkers_p.rank, sig.level = 0.05,
           colors = c("#1290D9", "#FFFFFF", "#E55738"))

# flattenCorrMatrix
# --------------------------------
# cormat : matrix of the correlation coefficients
# pmat : matrix of the correlation p-values
flattenCorrMatrix <- function(cormat, pmat) {
  ut <- upper.tri(cormat)
  data.frame(
    biomarker_row = rownames(cormat)[row(cormat)[ut]],
    biomarker_column = rownames(cormat)[col(cormat)[ut]],
    spearman_cor  =(cormat)[ut],
    pval = pmat[ut]
    )
}

corr_biomarkers.rank.df <- as.data.table(flattenCorrMatrix(corr_biomarkers.rank, corr_biomarkers_p.rank))
DT::datatable(corr_biomarkers.rank.df)

NA
# chart of a correlation matrix
# --------------------------------
# Alternative solution https://www.r-graph-gallery.com/199-correlation-matrix-with-ggally.html
install.packages.auto("PerformanceAnalytics")
chart.Correlation.new <- function (R, histogram = TRUE, method = c("pearson", "kendall", 
    "spearman"), ...) 
{
    x = checkData(R, method = "matrix")
    if (missing(method)) 
        method = method[1]
    cormeth <- method
    panel.cor <- function(x, y, digits = 2, prefix = "", use = "pairwise.complete.obs", 
        method = cormeth, cex.cor, ...) {
        usr <- par("usr")
        on.exit(par(usr))
        par(usr = c(0, 1, 0, 1))
        r <- cor(x, y, use = use, method = method)
        txt <- format(c(r, 0.123456789), digits = digits)[1]
        txt <- paste(prefix, txt, sep = "")
        if (missing(cex.cor)) 
            cex <- 0.8/strwidth(txt)
        test <- cor.test(as.numeric(x), as.numeric(y), method = method)
        Signif <- symnum(test$p.value, corr = FALSE, na = FALSE, 
            cutpoints = c(0, 0.001, 0.01, 0.05, 0.1, 1), symbols = c("***", 
                "**", "*", ".", " "))
        text(0.5, 0.5, txt, cex = cex * (abs(r) + 0.3)/1.3)
        text(0.8, 0.8, Signif, cex = cex, col = 2)
    }
    f <- function(t) {
        dnorm(t, mean = mean(x), sd = sd.xts(x))
    }
    dotargs <- list(...)
    dotargs$method <- NULL
    rm(method)
    hist.panel = function(x, ... = NULL) {
        par(new = TRUE)
        hist(x, col = "#1290D9", probability = TRUE, axes = FALSE, 
        # hist(x, col = "light gray", probability = TRUE, axes = FALSE, 
            main = "", breaks = "FD")
        lines(density(x, na.rm = TRUE), col = "#E55738", lwd = 1)
        rug(x)
    }
    if (histogram) 
        pairs(x, gap = 0, lower.panel = panel.smooth, upper.panel = panel.cor, 
            diag.panel = hist.panel, ...)
    else pairs(x, gap = 0, lower.panel = panel.smooth, upper.panel = panel.cor, ...)
}


chart.Correlation.new(AEDB.CEA.matrix.RANK, method = "spearman", histogram = TRUE, pch = 3)

# alternative chart of a correlation matrix
# --------------------------------
# Alternative solution https://www.r-graph-gallery.com/199-correlation-matrix-with-ggally.html
install.packages.auto("GGally")

# Quick display of two cabapilities of GGally, to assess the distribution and correlation of variables 
library(GGally)
 
# From the help page:

# ggpairs(AEDB.CEA, 
#         columns = c("MCP1_rank", "MCP1_pg_ug_2015_rank", TRAITS.BIN, TRAITS.CON.RANK), 
#         columnLabels = c("MCP1 (plasma)", "MCP1", 
#                          "Calcification", "Collagen", "Fat 10%", "IPH", "Macrophages", "SMC", "Vessel density"),
#         method = c("spearman"),
#         # ggplot2::aes(colour = Gender),
#         progress = FALSE) 

ggpairs(AEDB.CEA,
        columns = c("MCP1_pg_ug_2015_rank", TRAITS.BIN, TRAITS.CON.RANK),
        columnLabels = c("MCP1",
                         "Calcification", "Collagen", "Fat 10%", "IPH", "Macrophages (binned)", "SMC (binned)", "Macrophages", "SMC", "Vessel density"),
        method = c("spearman"),
        # ggplot2::aes(colour = Gender),
        progress = FALSE)
Extra arguments: 'method' are being ignored.  If these are meant to be aesthetics, submit them using the 'mapping' variable within ggpairs with ggplot2::aes or ggplot2::aes_string.

Circulating MCP1

Finally, we explored in a sub-sample, where circulating MCP-1 levels are available, the following:

  1. A correlation between MCP-1 levels in the plaque and circulating MCP-1 levels
  2. Associations of circulating MCP-1 levels with plaque vulnerability characteristics
  3. Associations of circulating MCP-1 levels with the status of the plaque in terms of presence of symptoms (symptomatic vs. asymptomatic)
  4. Associations of circulating MCP-1 levels with the primary composite endpoint of secondary cardiovascular events.

# Installation of ggcorrplot()
# --------------------------------
if(!require(devtools)) 
  install.packages("devtools")
devtools::install_github("kassambara/ggcorrplot")
Skipping install of 'ggcorrplot' from a github remote, the SHA1 (c46b4cce) has not changed since last install.
  Use `force = TRUE` to force installation
library(ggcorrplot)


# Creating matrix - inverse-rank transformation
# --------------------------------
AEDB.CEA.temp <- subset(AEDB.CEA, 
                          select = c("MCP1_plasma_olink_rank", 
                                     TRAITS.BIN,
                                     TRAITS.CON.RANK, 
                                     "Symptoms.5G", "AsymptSympt", "EP_major", "EP_composite")
                                    )

AEDB.CEA.temp$CalcificationPlaque <- as.numeric(AEDB.CEA.temp$CalcificationPlaque)
AEDB.CEA.temp$CollagenPlaque <- as.numeric(AEDB.CEA.temp$CollagenPlaque)
AEDB.CEA.temp$Fat10Perc <- as.numeric(AEDB.CEA.temp$Fat10Perc)
AEDB.CEA.temp$MAC_binned <- as.numeric(AEDB.CEA.temp$MAC_binned)
AEDB.CEA.temp$SMC_binned <- as.numeric(AEDB.CEA.temp$SMC_binned)
AEDB.CEA.temp$IPH <- as.numeric(AEDB.CEA.temp$IPH)
AEDB.CEA.temp$Symptoms.5G <- as.numeric(AEDB.CEA.temp$Symptoms.5G)
AEDB.CEA.temp$AsymptSympt <- as.numeric(AEDB.CEA.temp$AsymptSympt)
AEDB.CEA.temp$EP_major <- as.numeric(AEDB.CEA.temp$EP_major)
AEDB.CEA.temp$EP_composite <- as.numeric(AEDB.CEA.temp$EP_composite)
# str(AEDB.CEA.temp)
AEDB.CEA.matrix.plasma.RANK <- as.matrix(AEDB.CEA.temp)
rm(AEDB.CEA.temp)

corr_biomarkers_plasma.rank <- round(cor(AEDB.CEA.matrix.plasma.RANK, 
                             use = "pairwise.complete.obs", #the correlation or covariance between each pair of variables is computed using all complete pairs of observations on those variables
                             method = "spearman"), 3)
# corr_biomarkers.rank

corr_biomarkers_plasma_p.rank <- ggcorrplot::cor_pmat(AEDB.CEA.matrix.plasma.RANK, use = "pairwise.complete.obs", method = "spearman")
Cannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with ties
# Add correlation coefficients
# --------------------------------
# argument lab = TRUE
ggcorrplot(corr_biomarkers_plasma.rank, 
           method = "square", 
           type = "lower",
           title = "Cross biomarker correlations", 
           show.legend = TRUE, legend.title = bquote("Spearman's"~italic(rho)),
           ggtheme = ggplot2::theme_minimal, outline.color = "#FFFFFF",
           show.diag = TRUE,
           hc.order = FALSE, 
           lab = FALSE,
           digits = 3,
           # p.mat = corr_biomarkers_plasma_p.rank, sig.level = 0.05,
           colors = c("#1290D9", "#FFFFFF", "#E55738"))

# flattenCorrMatrix
# --------------------------------
# cormat : matrix of the correlation coefficients
# pmat : matrix of the correlation p-values
flattenCorrMatrix <- function(cormat, pmat) {
  ut <- upper.tri(cormat)
  data.frame(
    biomarker_row = rownames(cormat)[row(cormat)[ut]],
    biomarker_column = rownames(cormat)[col(cormat)[ut]],
    spearman_cor  =(cormat)[ut],
    pval = pmat[ut]
    )
}


corr_biomarkers_plasma.rank.df <- as.data.table(flattenCorrMatrix(corr_biomarkers_plasma.rank, corr_biomarkers_plasma_p.rank))
DT::datatable(corr_biomarkers_plasma.rank.df)
# chart of a correlation matrix
# --------------------------------
# Alternative solution https://www.r-graph-gallery.com/199-correlation-matrix-with-ggally.html
install.packages.auto("PerformanceAnalytics")
chart.Correlation.new <- function (R, histogram = TRUE, method = c("pearson", "kendall", 
    "spearman"), ...) 
{
    x = checkData(R, method = "matrix")
    if (missing(method)) 
        method = method[1]
    cormeth <- method
    panel.cor <- function(x, y, digits = 2, prefix = "", use = "pairwise.complete.obs", 
        method = cormeth, cex.cor, ...) {
        usr <- par("usr")
        on.exit(par(usr))
        par(usr = c(0, 1, 0, 1))
        r <- cor(x, y, use = use, method = method)
        txt <- format(c(r, 0.123456789), digits = digits)[1]
        txt <- paste(prefix, txt, sep = "")
        if (missing(cex.cor)) 
            cex <- 0.8/strwidth(txt)
        test <- cor.test(as.numeric(x), as.numeric(y), method = method)
        Signif <- symnum(test$p.value, corr = FALSE, na = FALSE, 
            cutpoints = c(0, 0.001, 0.01, 0.05, 0.1, 1), symbols = c("***", 
                "**", "*", ".", " "))
        text(0.5, 0.5, txt, cex = cex * (abs(r) + 0.3)/1.3)
        text(0.8, 0.8, Signif, cex = cex, col = 2)
    }
    f <- function(t) {
        dnorm(t, mean = mean(x), sd = sd.xts(x))
    }
    dotargs <- list(...)
    dotargs$method <- NULL
    rm(method)
    hist.panel = function(x, ... = NULL) {
        par(new = TRUE)
        hist(x, col = "#1290D9", probability = TRUE, axes = FALSE, 
        # hist(x, col = "light gray", probability = TRUE, axes = FALSE, 
            main = "", breaks = "FD")
        lines(density(x, na.rm = TRUE), col = "#E55738", lwd = 1)
        rug(x)
    }
    if (histogram) 
        pairs(x, gap = 0, lower.panel = panel.smooth, upper.panel = panel.cor, 
            diag.panel = hist.panel, ...)
    else pairs(x, gap = 0, lower.panel = panel.smooth, upper.panel = panel.cor, ...)
}

chart.Correlation.new(AEDB.CEA.matrix.plasma.RANK, method = "spearman", histogram = TRUE, pch = 3)

# alternative chart of a correlation matrix
# --------------------------------
# Alternative solution https://www.r-graph-gallery.com/199-correlation-matrix-with-ggally.html
install.packages.auto("GGally")

# Quick display of two cabapilities of GGally, to assess the distribution and correlation of variables 
library(GGally)
 
# From the help page:
ggpairs(AEDB.CEA,
        columns = c("MCP1_rank", TRAITS.BIN, TRAITS.CON.RANK, "Symptoms.5G", "AsymptSympt", "EP_major", "EP_composite"), 
        columnLabels = c("MCP1 (plasma)", 
                         "Calcification", "Collagen", "Fat 10%", "IPH", "Macrophages (binned)", "SMC (binned)", "Macrophages", "SMC", "Vessel density",
                         "Symptoms", "Symptoms (grouped)", "MACE", "Composite"),
        method = c("spearman"),
        # ggplot2::aes(colour = Gender),
        progress = FALSE) 
Extra arguments: 'method' are being ignored.  If these are meant to be aesthetics, submit them using the 'mapping' variable within ggpairs with ggplot2::aes or ggplot2::aes_string.

Additional figures

Age and sex

We want to create per-age-group figures.

  • Box and Whisker plot for MCP-1 plaque levels by sex and age group (<55, 55-64, 65-74, 75-84, 85+)
  • Box and Whisker plot for MCP-1 plasma levels by sex and age group (<55, 55-64, 65-74, 75-84, 85+)
  • Scatter plot of the correlation and regression line between MCP-1 levels in plaque (y axis) and plasma (x axis).
library(dplyr)

AEDB.CEA <- AEDB.CEA %>% mutate(AgeGroup = factor(case_when(Age < 55 ~ "<55",
                                                     Age >= 55  & Age <= 64 ~ "55-64",
                                                     Age >= 65  & Age <= 74 ~ "65-74",
                                                     Age >= 75  & Age <= 84 ~ "75-84",
                                                     Age >= 85 ~ "85+"))) 

AEDB.CEA <- AEDB.CEA %>% mutate(AgeGroupSex = factor(case_when(Age < 55 & Gender == "male" ~ "<55 males" ,
                                                        Age >= 55  & Age <= 64 & Gender == "male"~ "55-64 males",
                                                        Age >= 65  & Age <= 74 & Gender == "male"~ "65-74 males",
                                                        Age >= 75  & Age <= 84 & Gender == "male"~ "75-84 males",
                                                        Age >= 85 & Gender == "male"~ "85+ males",
                                                        Age < 55 & Gender == "female" ~ "<55 females" ,
                                                        Age >= 55  & Age <= 64 & Gender == "female"~ "55-64 females ",
                                                        Age >= 65  & Age <= 74 & Gender == "female"~ "65-74 females",
                                                        Age >= 75  & Age <= 84 & Gender == "female"~ "75-84 females",
                                                        Age >= 85 & Gender == "female"~ "85+ females")))

table(AEDB.CEA$AgeGroup, AEDB.CEA$Gender)
       
        female male
  <55       45   98
  55-64    194  410
  65-74    264  687
  75-84    202  439
  85+       34   50
table(AEDB.CEA$AgeGroupSex)

   <55 females      <55 males 55-64 females     55-64 males  65-74 females    65-74 males  75-84 females    75-84 males    85+ females      85+ males 
            45             98            194            410            264            687            202            439             34             50 

Now we can draw some graphs of plasma/plaque MCP1 levels per sex and age group.

Inverse-rank transformed data

MCP1 plaque levels


# ?ggpubr::ggboxplot()

# Global test
# compare_means(MCP1_pg_ug_2015_rank ~ Gender,  data = AEDB.CEA, method = "wilcox.test")
ggpubr::ggboxplot(AEDB.CEA, 
                  x = c("AgeGroup"),
                  y = "MCP1_pg_ug_2015_rank", 
                  xlab = "Age groups (years)",
                  ylab = "MCP1 plaque [pg/ug]\n(inverse-rank transformation)",
                  color = "AgeGroup",
                  palette = "npg",
                  add = "jitter") #+
  # stat_compare_means(method = "wilcox.test")
ggsave(file = paste0(PLOT_loc, "/",Today,".AEDB.CEA.MCP1.plaque.AgeGroup.pdf"), plot = last_plot())

# compare_means(MCP1_pg_ug_2015_rank ~ AgeGroup,  data = AEDB.CEA, method = "kruskal.test")
ggpubr::ggboxplot(AEDB.CEA, 
                  x = c("AgeGroup"),
                  y = "MCP1_pg_ug_2015_rank", 
                  xlab = "Age groups (years) per gender",
                  ylab = "MCP1 plaque [pg/ug]\n(inverse-rank transformation)",
                  color = "Gender",
                  palette = c("#D5267B", "#1290D9"),
                  add = "jitter") #+
  # stat_compare_means(method = "kruskal.test")
ggsave(file = paste0(PLOT_loc, "/",Today,".AEDB.CEA.MCP1.plaque.AgeGroup_perGender.pdf"), plot = last_plot())

MCP1 plasma levels

# compare_means(MCP1_rank ~ Gender,  data = AEDB.CEA, method = "wilcox.test")
ggpubr::ggboxplot(AEDB.CEA,
                  x = c("AgeGroup"),
                  y = "MCP1_plasma_olink_rank",
                  xlab = "Age groups (years)",
                  ylab = "MCP1 plasma [AU]\n(inverse-rank transformation)",
                  color = "AgeGroup",
                  palette = "npg",
                  add = "jitter") #+
  # stat_compare_means(method = "wilcox.test")
ggsave(file = paste0(PLOT_loc, "/",Today,".AEDB.CEA.MCP1.plasma.AgeGroup.pdf"), plot = last_plot())
# compare_means(MCP1_rank ~ AgeGroup,  data = AEDB.CEA, method = "kruskal.test")
ggpubr::ggboxplot(AEDB.CEA,
                  x = c("AgeGroup"),
                  y = "MCP1_plasma_olink_rank",
                  xlab = "Age groups (years) per gender",
                  ylab = "MCP1 plasma [AU]\n(inverse-rank transformation)",
                  color = "Gender",
                  palette = c("#D5267B", "#1290D9"),
                  add = "jitter") #+
  # stat_compare_means(method = "kruskal.test")
ggsave(file = paste0(PLOT_loc, "/",Today,".AEDB.CEA.MCP1.plasma.AgeGroup_perGender.pdf"), plot = last_plot())

Raw data

Simalarly but now for the raw data as median ± interquartile range.

MCP1 plaque levels


# ?ggpubr::ggboxplot()

# Global test
# compare_means(MCP1_pg_ug_2015_rank ~ Gender,  data = AEDB.CEA, method = "wilcox.test")
ggpubr::ggboxplot(AEDB.CEA, 
                  x = c("AgeGroup"),
                  y = "MCP1_pg_ug_2015_rank", 
                  xlab = "Age groups (years)",
                  ylab = "MCP1 plaque [pg/ug]\n(inverse-rank transformation)",
                  color = "AgeGroup",
                  palette = "npg",
                  add = "jitter") #+
  # stat_compare_means(method = "wilcox.test")
ggsave(file = paste0(PLOT_loc, "/",Today,".AEDB.CEA.MCP1.plaque.AgeGroup.pdf"), plot = last_plot())
Saving 7.29 x 4.51 in image

# compare_means(MCP1_pg_ug_2015_rank ~ AgeGroup,  data = AEDB.CEA, method = "kruskal.test")
ggpubr::ggboxplot(AEDB.CEA, 
                  x = c("AgeGroup"),
                  y = "MCP1_pg_ug_2015_rank", 
                  xlab = "Age groups (years) per gender",
                  ylab = "MCP1 plaque [pg/ug]\n(inverse-rank transformation)",
                  color = "Gender",
                  palette = c("#D5267B", "#1290D9"),
                  add = "jitter") #+
  # stat_compare_means(method = "kruskal.test")
ggsave(file = paste0(PLOT_loc, "/",Today,".AEDB.CEA.MCP1.plaque.AgeGroup_perGender.pdf"), plot = last_plot())
Saving 7.29 x 4.51 in image

MCP1 plasma levels

ggpubr::ggboxplot(AEDB.CEA, 
                  x = c("AgeGroup"),
                  y = "MCP1_plasma_olink", 
                  xlab = "Age groups (years)",
                  ylab = "MCP1 plasma [AU]",
                  color = "AgeGroup",
                  palette = "npg",
                  # add = "median_iqr")
                  add = c("median_iqr", "jitter"))
ggsave(file = paste0(PLOT_loc, "/",Today,".AEDB.CEA.MCP1.plasma.raw.AgeGroup.pdf"), plot = last_plot())

ggpubr::ggboxplot(AEDB.CEA, 
                  x = c("AgeGroup"),
                  y = "MCP1_plasma_olink", 
                  xlab = "Age groups (years) per gender",
                  ylab = "MCP1 plasma [AU]",
                  color = "Gender",
                  palette = c("#D5267B", "#1290D9"),
                  # add = "median_iqr")
                  add = c("median_iqr", "jitter"))
ggsave(file = paste0(PLOT_loc, "/",Today,".AEDB.CEA.MCP1.plasma.raw.AgeGroup_perGender.pdf"), plot = last_plot())

Hypertension & blood pressure

We want to create figures of MCP1 levels stratified by hypertension/blood pressure, and use of anti-hypertensive drugs.

  • Box and Whisker plot for MCP-1 plaque levels by hypertension group (no, yes)
  • Box and Whisker plot for MCP-1 plasma levels by systolic blood pressure group (<120, 120-139, 140-159,160+)
library(dplyr)

AEDB.CEA <- AEDB.CEA %>% mutate(SBPGroup = factor(case_when(systolic < 120 ~ "<120",
                                                     systolic >= 120  & systolic <= 139 ~ "120-139",
                                                     systolic >= 140  & systolic <= 159 ~ "140-159",
                                                     systolic >= 160 ~ "160+"))) 

table(AEDB.CEA$SBPGroup, AEDB.CEA$Gender)
         
          female male
  <120        54  114
  120-139    145  326
  140-159    197  497
  160+       269  548

Now we can draw some graphs of plasma/plaque MCP1 levels per sex and hypertension/blood pressure group.

Inverse-rank transformed data

MCP1 plaque levels


# compare_means(MCP1_pg_ug_2015_rank ~ AgeGroup,  data = AEDB.CEA, method = "kruskal.test")
ggpubr::ggboxplot(AEDB.CEA %>% filter(!is.na(SBPGroup)), 
                  x = c("SBPGroup"),
                  y = "MCP1_pg_ug_2015_rank", 
                  xlab = "Systolic blood pressure (mmHg) per gender",
                  ylab = "MCP1 plaque [pg/ug]\n(inverse-rank transformation)",
                  color = "Gender",
                  palette = c("#D5267B", "#1290D9"),
                  add = "jitter") #+
  # stat_compare_means(method = "kruskal.test")
ggsave(file = paste0(PLOT_loc, "/",Today,".AEDB.CEA.MCP1.plaque.SBPGroup.pdf"), plot = last_plot())

# compare_means(MCP1_pg_ug_2015_rank ~ AgeGroup,  data = AEDB.CEA, method = "kruskal.test")
ggpubr::ggboxplot(AEDB.CEA %>% filter(!is.na(Hypertension.selfreport)), 
                  x = c("Hypertension.selfreport"),
                  y = "MCP1_pg_ug_2015_rank", 
                  xlab = "Self-reported hypertension per gender",
                  ylab = "MCP1 plaque [pg/ug]\n(inverse-rank transformation)",
                  color = "Gender",
                  palette = c("#D5267B", "#1290D9"),
                  add = "jitter") #+
  # stat_compare_means(method = "kruskal.test")
ggsave(file = paste0(PLOT_loc, "/",Today,".AEDB.CEA.MCP1.plaque.Hypertension.pdf"), plot = last_plot())

# compare_means(MCP1_pg_ug_2015_rank ~ AgeGroup,  data = AEDB.CEA, method = "kruskal.test")
ggpubr::ggboxplot(AEDB.CEA %>% filter(!is.na(Hypertension.selfreport) & !is.na(Hypertension.drugs)), 
                  x = c("Hypertension.selfreport"),
                  y = "MCP1_pg_ug_2015_rank", 
                  xlab = "Self-reported hypertension per medication use",
                  ylab = "MCP1 plaque [pg/ug]\n(inverse-rank transformation)",
                  color = "Hypertension.drugs",
                  palette = c("#49A01D", "#1290D9"),
                  add = "jitter") #+
  # stat_compare_means(method = "kruskal.test")
ggsave(file = paste0(PLOT_loc, "/",Today,".AEDB.CEA.MCP1.plaque.HypertensionDrugs.pdf"), plot = last_plot())

MCP1 plasma levels


ggpubr::ggboxplot(AEDB.CEA %>% filter(!is.na(SBPGroup)),
                  x = c("SBPGroup"),
                  y = "MCP1_plasma_olink_rank",
                  xlab = "Systolic blood pressure (mmHg) per gender",
                  ylab = "MCP1 plasma [AU]\n(inverse-rank transformation)",
                  color = "Gender",
                  palette = c("#D5267B", "#1290D9"),
                  add = "jitter") 
ggsave(file = paste0(PLOT_loc, "/",Today,".AEDB.CEA.MCP1.plasma.SBPGroup.pdf"), plot = last_plot())

# compare_means(MCP1_pg_ug_2015_rank ~ AgeGroup,  data = AEDB.CEA, method = "kruskal.test")
ggpubr::ggboxplot(AEDB.CEA %>% filter(!is.na(Hypertension.selfreport)), 
                  x = c("Hypertension.selfreport"),
                  y = "MCP1_plasma_olink_rank", 
                  xlab = "Self-reported hypertension per gender",
                  ylab = "MCP1 plasma [AU]\n(inverse-rank transformation)",
                  color = "Gender",
                  palette = c("#D5267B", "#1290D9"),
                  add = "jitter") #+
  # stat_compare_means(method = "kruskal.test")
ggsave(file = paste0(PLOT_loc, "/",Today,".AEDB.CEA.MCP1.plasma.Hypertension.pdf"), plot = last_plot())

# compare_means(MCP1_pg_ug_2015_rank ~ AgeGroup,  data = AEDB.CEA, method = "kruskal.test")
ggpubr::ggboxplot(AEDB.CEA %>% filter(!is.na(Hypertension.selfreport) & !is.na(Hypertension.drugs)), 
                  x = c("Hypertension.selfreport"),
                  y = "MCP1_plasma_olink_rank", 
                  xlab = "Self-reported hypertension per medication use",
                  ylab = "MCP1 plasma [AU]\n(inverse-rank transformation)",
                  color = "Hypertension.drugs",
                  palette = c("#49A01D", "#1290D9"),
                  add = "jitter") #+
  # stat_compare_means(method = "kruskal.test")
ggsave(file = paste0(PLOT_loc, "/",Today,".AEDB.CEA.MCP1.plasma.HypertensionDrugs.pdf"), plot = last_plot())

Raw data

Simalarly but now for the raw data as median ± interquartile range.

MCP1 plaque levels


# compare_means(MCP1_pg_ug_2015_rank ~ AgeGroup,  data = AEDB.CEA, method = "kruskal.test")
ggpubr::ggboxplot(AEDB.CEA %>% filter(!is.na(SBPGroup)), 
                  x = c("SBPGroup"),
                  y = "MCP1_pg_ug_2015_rank", 
                  xlab = "Systolic blood pressure (mmHg) per gender",
                  ylab = "MCP1 plaque [pg/ug]\n(inverse-rank transformation)",
                  color = "Gender",
                  palette = c("#D5267B", "#1290D9"),
                  add = "jitter") #+
  # stat_compare_means(method = "kruskal.test")
ggsave(file = paste0(PLOT_loc, "/",Today,".AEDB.CEA.MCP1.plaque.SBPGroup.pdf"), plot = last_plot())
Saving 7.29 x 4.51 in image

# compare_means(MCP1_pg_ug_2015_rank ~ AgeGroup,  data = AEDB.CEA, method = "kruskal.test")
ggpubr::ggboxplot(AEDB.CEA %>% filter(!is.na(Hypertension.selfreport)), 
                  x = c("Hypertension.selfreport"),
                  y = "MCP1_pg_ug_2015_rank", 
                  xlab = "Self-reported hypertension per gender",
                  ylab = "MCP1 plaque [pg/ug]\n(inverse-rank transformation)",
                  color = "Gender",
                  palette = c("#D5267B", "#1290D9"),
                  add = "jitter") #+
  # stat_compare_means(method = "kruskal.test")
ggsave(file = paste0(PLOT_loc, "/",Today,".AEDB.CEA.MCP1.plaque.Hypertension.pdf"), plot = last_plot())
Saving 7.29 x 4.51 in image

# compare_means(MCP1_pg_ug_2015_rank ~ AgeGroup,  data = AEDB.CEA, method = "kruskal.test")
ggpubr::ggboxplot(AEDB.CEA %>% filter(!is.na(Hypertension.selfreport) & !is.na(Hypertension.drugs)), 
                  x = c("Hypertension.selfreport"),
                  y = "MCP1_pg_ug_2015_rank", 
                  xlab = "Self-reported hypertension per medication use",
                  ylab = "MCP1 plaque [pg/ug]\n(inverse-rank transformation)",
                  color = "Hypertension.drugs",
                  palette = c("#49A01D", "#1290D9"),
                  add = "jitter") #+
  # stat_compare_means(method = "kruskal.test")
ggsave(file = paste0(PLOT_loc, "/",Today,".AEDB.CEA.MCP1.plaque.HypertensionDrugs.pdf"), plot = last_plot())
Saving 7.29 x 4.51 in image

MCP1 plasma levels


ggpubr::ggboxplot(AEDB.CEA %>% filter(!is.na(SBPGroup)), 
                  x = c("SBPGroup"),
                  y = "MCP1_plasma_olink", 
                  xlab = "Systolic blood pressure (mmHg) per gender",
                  ylab = "MCP1 plasma [AU]",
                  color = "Gender",
                  palette = c("#D5267B", "#1290D9"),
                  # add = "median_iqr")
                  add = c("median_iqr", "jitter"))
ggsave(file = paste0(PLOT_loc, "/",Today,".AEDB.CEA.MCP1.plasma.raw.SBPGroup.pdf"), plot = last_plot())

ggpubr::ggboxplot(AEDB.CEA %>% filter(!is.na(Hypertension.selfreport)), 
                  x = c("Hypertension.selfreport"),
                  y = "MCP1_plasma_olink", 
                  xlab = "Self-reported hypertension per gender",
                  ylab = "MCP1 plasma [AU]",
                  color = "Gender",
                  palette = c("#D5267B", "#1290D9"),
                  # add = "median_iqr")
                  add = c("median_iqr", "jitter"))
ggsave(file = paste0(PLOT_loc, "/",Today,".AEDB.CEA.MCP1.plasma.raw.Hypertension.pdf"), plot = last_plot())

ggpubr::ggboxplot(AEDB.CEA %>% filter(!is.na(Hypertension.selfreport) & !is.na(Hypertension.drugs)), 
                  x = c("Hypertension.selfreport"),
                  y = "MCP1_plasma_olink", 
                  xlab = "Self-reported hypertension per medication use",
                  ylab = "MCP1 plasma [AU]",
                  color = "Hypertension.drugs",
                  palette = c("#49A01D", "#1290D9"),
                  add = "jitter") 
ggsave(file = paste0(PLOT_loc, "/",Today,".AEDB.CEA.MCP1.plasma.raw.HypertensionDrugs.pdf"), plot = last_plot())

Hypercholesterolemia & LDL levels

We want to create figures of MCP1 levels stratified by hypercholesterolemia/LDL-levels, and use of lipid-lowering drugs.

  • Box and Whisker plot for MCP-1 plaque levels by hypercholesterolemia group (no, yes)
  • Box and Whisker plot for MCP-1 plasma levels by LDL-levels (mmol/L) group (<100, 100-129, 130-159, 160-189, 190+)
library(dplyr)

AEDB.CEA <- AEDB.CEA %>% mutate(LDLGroup = factor(case_when(LDL_finalCU < 100 ~ "<100",
                                                     LDL_finalCU >= 100  & LDL_finalCU <= 129 ~ "100-129",
                                                     LDL_finalCU >= 130  & LDL_finalCU <= 159 ~ "130-159",
                                                     LDL_finalCU >= 160  & LDL_finalCU <= 189 ~ "160-189",
                                                     LDL_finalCU >= 190 ~ "190+"))) 


table(AEDB.CEA$LDLGroup, AEDB.CEA$Gender)
         
          female male
  <100       171  441
  100-129     96  250
  130-159     75  129
  160-189     40   50
  190+        25   31

Now we can draw some graphs of plasma/plaque MCP1 levels per sex and hypercholesterolemia/LDL-levels group, as well as stratified by lipid-lowering drugs users.

Inverse-rank transformed data

MCP1 plaque levels


# compare_means(MCP1_pg_ug_2015_rank ~ AgeGroup,  data = AEDB.CEA, method = "kruskal.test")
ggpubr::ggboxplot(AEDB.CEA %>% filter(!is.na(LDLGroup)), 
                  x = c("LDLGroup"),
                  y = "MCP1_pg_ug_2015_rank", 
                  xlab = "LDL (mg/dL) per gender",
                  ylab = "MCP1 plaque [pg/ug]\n(inverse-rank transformation)",
                  color = "Gender",
                  palette = c("#D5267B", "#1290D9"),
                  add = "jitter") #+
  # stat_compare_means(method = "kruskal.test")
ggsave(file = paste0(PLOT_loc, "/",Today,".AEDB.CEA.MCP1.plaqua.LDLGroups.pdf"), plot = last_plot())

# compare_means(MCP1_pg_ug_2015_rank ~ AgeGroup,  data = AEDB.CEA, method = "kruskal.test")
ggpubr::ggboxplot(AEDB.CEA %>% filter(!is.na(LDLGroup) & !is.na(Med.Statin.LLD)), 
                  x = c("LDLGroup"),
                  y = "MCP1_pg_ug_2015_rank", 
                  xlab = "LDL (mg/dL) per LLD use",
                  ylab = "MCP1 plaque [pg/ug]\n(inverse-rank transformation)",
                  color = "Med.Statin.LLD",
                  palette = c("#49A01D", "#1290D9"),
                  add = "jitter") #+
  # stat_compare_means(method = "kruskal.test")
ggsave(file = paste0(PLOT_loc, "/",Today,".AEDB.CEA.MCP1.plaque.Hypercholesterolemia.pdf"), plot = last_plot())

MCP1 plasma levels

# compare_means(MCP1_rank ~ Gender,  data = AEDB.CEA, method = "wilcox.test")
ggpubr::ggboxplot(AEDB.CEA %>% filter(!is.na(LDLGroup)),
                  x = c("LDLGroup"),
                  y = "MCP1_plasma_olink_rank",
                  xlab = "LDL (mg/dL) per gender",
                  ylab = "MCP1 plasma [AU]\n(inverse-rank transformation)",
                  color = "Gender",
                  palette = c("#D5267B", "#1290D9"),
                  add = "jitter") #+
  # stat_compare_means(method = "wilcox.test")
ggsave(file = paste0(PLOT_loc, "/",Today,".AEDB.CEA.MCP1.plasma.LDLGroup.pdf"), plot = last_plot())

# compare_means(MCP1_rank ~ AgeGroup,  data = AEDB.CEA, method = "kruskal.test")
ggpubr::ggboxplot(AEDB.CEA %>% filter(!is.na(LDLGroup) & !is.na(Med.Statin.LLD)),
                  x = c("LDLGroup"),
                  y = "MCP1_plasma_olink_rank",
                  xlab = "LDL (mg/dL) per LLD use",
                  ylab = "MCP1 plasma [AU]\n(inverse-rank transformation)",
                  color = "Med.Statin.LLD",
                  palette = c("#49A01D", "#1290D9"),
                  add = "jitter") #+
  # stat_compare_means(method = "kruskal.test")
ggsave(file = paste0(PLOT_loc, "/",Today,".AEDB.CEA.MCP1.plasma.Hypercholesterolemia.pdf"), plot = last_plot())

Raw data

Simalarly but now for the raw data as median ± interquartile range.

MCP1 plaque levels


# compare_means(MCP1_pg_ug_2015_rank ~ AgeGroup,  data = AEDB.CEA, method = "kruskal.test")
ggpubr::ggboxplot(AEDB.CEA %>% filter(!is.na(LDLGroup)), 
                  x = c("LDLGroup"),
                  y = "MCP1_pg_ug_2015_rank", 
                  xlab = "LDL (mg/dL) per gender",
                  ylab = "MCP1 plaque [pg/ug]\n(inverse-rank transformation)",
                  color = "Gender",
                  palette = c("#D5267B", "#1290D9"),
                  add = "jitter") #+
  # stat_compare_means(method = "kruskal.test")
ggsave(file = paste0(PLOT_loc, "/",Today,".AEDB.CEA.MCP1.plaqua.LDLGroups.pdf"), plot = last_plot())
Saving 7.29 x 4.51 in image

# compare_means(MCP1_pg_ug_2015_rank ~ AgeGroup,  data = AEDB.CEA, method = "kruskal.test")
ggpubr::ggboxplot(AEDB.CEA %>% filter(!is.na(LDLGroup) & !is.na(Med.Statin.LLD)), 
                  x = c("LDLGroup"),
                  y = "MCP1_pg_ug_2015_rank", 
                  xlab = "LDL (mg/dL) per LLD use",
                  ylab = "MCP1 plaque [pg/ug]\n(inverse-rank transformation)",
                  color = "Med.Statin.LLD",
                  palette = c("#49A01D", "#1290D9"),
                  add = "jitter") #+
  # stat_compare_means(method = "kruskal.test")
ggsave(file = paste0(PLOT_loc, "/",Today,".AEDB.CEA.MCP1.plaque.Hypercholesterolemia.pdf"), plot = last_plot())
Saving 7.29 x 4.51 in image

MCP1 plasma levels

ggpubr::ggboxplot(AEDB.CEA %>% filter(!is.na(LDLGroup)), 
                  x = c("LDLGroup"),
                  y = "MCP1", 
                  xlab = "LDL (mg/dL) per gender",
                  ylab = "MCP1 plasma [pg/mL]",
                  color = "Gender",
                  palette = c("#D5267B", "#1290D9"),
                  # add = "median_iqr")
                  add = c("median_iqr", "jitter"))
ggsave(file = paste0(PLOT_loc, "/",Today,".AEDB.CEA.MCP1.plasma.raw.LDLGroup.pdf"), plot = last_plot())

ggpubr::ggboxplot(AEDB.CEA %>% filter(!is.na(LDLGroup) & !is.na(Med.Statin.LLD)), 
                  x = c("LDLGroup"),
                  y = "MCP1", 
                  xlab = "LDL (mg/dL) per LLD use",
                  ylab = "MCP1 plasma [pg/mL]",
                  color = "Med.Statin.LLD",
                  palette = c("#49A01D", "#1290D9"),
                  # add = "median_iqr")
                  add = c("median_iqr", "jitter"))
ggsave(file = paste0(PLOT_loc, "/",Today,".AEDB.CEA.MCP1.plasma.raw.Hypercholesterolemia.pdf"), plot = last_plot())

Kidney function (eGFR)

We want to create figures of MCP1 levels stratified by kidney function.

  • Box and Whisker plot for MCP-1 plaque levels by chronic kidney disease (CKD) group (1, 2, 3, 4, 5)
  • Box and Whisker plot for MCP-1 plasma levels by eGFR (MDRD-based) group (90+, 60-89, 30-59, <30)
library(dplyr)

AEDB.CEA <- AEDB.CEA %>% mutate(eGFRGroup = factor(case_when(GFR_MDRD < 15 ~ "<15",
                                                             GFR_MDRD >= 15  & GFR_MDRD <= 29 ~ "15-29",
                                                             GFR_MDRD >= 30  & GFR_MDRD <= 59 ~ "30-59",
                                                             GFR_MDRD >= 60  & GFR_MDRD <= 89 ~ "60-89",
                                                             GFR_MDRD >= 90 ~ "90+")))

table(AEDB.CEA$eGFRGroup, AEDB.CEA$Gender)
       
        female male
  <15        3    7
  15-29      7   20
  30-59    193  325
  60-89    361  845
  90+      117  345
table(AEDB.CEA$eGFRGroup, AEDB.CEA$KDOQI)
       
        No data available/missing Normal kidney function CKD 2 (Mild) CKD 3 (Moderate) CKD 4 (Severe) CKD 5 (Failure)
  <15                           0                      0            0                0              0              10
  15-29                         0                      0            0                0             27               0
  30-59                         0                      0            0              518              0               0
  60-89                         0                      0         1206                0              0               0
  90+                           0                    462            0                0              0               0

Now we can draw some graphs of plasma/plaque MCP1 levels per sex and kidney function group.

Inverse-rank transformed data

MCP1 plaque levels


# Global test
# compare_means(MCP1_pg_ug_2015_rank ~ Gender,  data = AEDB.CEA, method = "wilcox.test")
ggpubr::ggboxplot(AEDB.CEA %>% filter(!is.na(eGFRGroup)), 
                  x = c("eGFRGroup"),
                  y = "MCP1_pg_ug_2015_rank", 
                  xlab = "eGFR (mL/min per 1.73 m2) per gender",
                  ylab = "MCP1 plaque [pg/ug]\n(inverse-rank transformation)",
                  color = "Gender",
                  palette = c("#D5267B", "#1290D9"),
                  add = "jitter") #+
  # stat_compare_means(method = "wilcox.test")
ggsave(file = paste0(PLOT_loc, "/",Today,".AEDB.CEA.MCP1.plaque.EGFR.pdf"), plot = last_plot())

# compare_means(MCP1_pg_ug_2015_rank ~ AgeGroup,  data = AEDB.CEA, method = "kruskal.test")
p1 <- ggpubr::ggboxplot(AEDB.CEA %>% filter(!is.na(KDOQI)), 
                  x = c("KDOQI"),
                  y = "MCP1_pg_ug_2015_rank", 
                  xlab = "Kidney function (KDOQI) per gender",
                  ylab = "MCP1 plaque [pg/ug]\n(inverse-rank transformation)",
                  color = "Gender",
                  palette = c("#D5267B", "#1290D9"),
                  add = "jitter") #+
  # stat_compare_means(method = "kruskal.test")
ggpar(p1 + rotate_x_text(45), legend = "right") 
rm(p1)
ggsave(file = paste0(PLOT_loc, "/",Today,".AEDB.CEA.MCP1.plaque.KDOQI.pdf"), plot = last_plot())

# compare_means(MCP1_pg_ug_2015_rank ~ AgeGroup,  data = AEDB.CEA, method = "kruskal.test")
p1 <- ggpubr::ggboxplot(AEDB.CEA %>% filter(!is.na(eGFRGroup) & !is.na(KDOQI)), 
                  x = c("eGFRGroup"),
                  y = "MCP1_pg_ug_2015_rank", 
                  xlab = "eGFR (mL/min per 1.73 m2) by KDOQI group",
                  ylab = "MCP1 plaque [pg/ug]\n(inverse-rank transformation)",
                  color = "KDOQI",
                  palette = "npg",
                  add = "jitter") #+
  # stat_compare_means(method = "kruskal.test")
ggpar(p1, legend = "right")
rm(p1)
ggsave(file = paste0(PLOT_loc, "/",Today,".AEDB.CEA.MCP1.plaque.EGFR_KDOQI.pdf"), plot = last_plot())

MCP1 plasma levels


# Global test
# compare_means(MCP1_pg_ug_2015_rank ~ Gender,  data = AEDB.CEA, method = "wilcox.test")
ggpubr::ggboxplot(AEDB.CEA %>% filter(!is.na(eGFRGroup)), 
                  x = c("eGFRGroup"),
                  y = "MCP1_plasma_olink_rank", 
                  xlab = "eGFR (mL/min per 1.73 m2) per gender",
                  ylab = "MCP1 plasma [AU]\n(inverse-rank transformation)",
                  color = "Gender",
                  palette = c("#D5267B", "#1290D9"),
                  add = "jitter") #+
  # stat_compare_means(method = "wilcox.test")
ggsave(file = paste0(PLOT_loc, "/",Today,".AEDB.CEA.MCP1.plasma.EGFR.pdf"), plot = last_plot())

# compare_means(MCP1_pg_ug_2015_rank ~ AgeGroup,  data = AEDB.CEA, method = "kruskal.test")
p1 <- ggpubr::ggboxplot(AEDB.CEA %>% filter(!is.na(KDOQI)), 
                  x = c("KDOQI"),
                  y = "MCP1_plasma_olink_rank", 
                  xlab = "Kidney function (KDOQI) per gender",
                  ylab = "MCP1 plasma [AU]\n(inverse-rank transformation)",
                  color = "Gender",
                  palette = c("#D5267B", "#1290D9"),
                  add = "jitter") #+
  # stat_compare_means(method = "kruskal.test")
ggpar(p1 + rotate_x_text(45), legend = "right") 
rm(p1)
ggsave(file = paste0(PLOT_loc, "/",Today,".AEDB.CEA.MCP1.plasma.KDOQI.pdf"), plot = last_plot())

# compare_means(MCP1_pg_ug_2015_rank ~ AgeGroup,  data = AEDB.CEA, method = "kruskal.test")
p1 <- ggpubr::ggboxplot(AEDB.CEA %>% filter(!is.na(eGFRGroup) & !is.na(KDOQI)), 
                  x = c("eGFRGroup"),
                  y = "MCP1_plasma_olink_rank", 
                  xlab = "eGFR (mL/min per 1.73 m2) by KDOQI group",
                  ylab = "MCP1 plasma [AU]\n(inverse-rank transformation)",
                  color = "KDOQI",
                  palette = "npg",
                  add = "jitter") #+
  # stat_compare_means(method = "kruskal.test")
ggpar(p1, legend = "right")
rm(p1)
ggsave(file = paste0(PLOT_loc, "/",Today,".AEDB.CEA.MCP1.plasma.EGFR_KDOQI.pdf"), plot = last_plot())

Raw data

Simalarly but now for the raw data as median ± interquartile range.

MCP1 plaque levels


# Global test
# compare_means(MCP1_pg_ug_2015_rank ~ Gender,  data = AEDB.CEA, method = "wilcox.test")
ggpubr::ggboxplot(AEDB.CEA %>% filter(!is.na(eGFRGroup)), 
                  x = c("eGFRGroup"),
                  y = "MCP1_pg_ug_2015_rank", 
                  xlab = "eGFR (mL/min per 1.73 m2) per gender",
                  ylab = "MCP1 plaque [pg/ug]\n(inverse-rank transformation)",
                  color = "Gender",
                  palette = c("#D5267B", "#1290D9"),
                  add = "jitter") #+
  # stat_compare_means(method = "wilcox.test")
ggsave(file = paste0(PLOT_loc, "/",Today,".AEDB.CEA.MCP1.plaque.EGFR.pdf"), plot = last_plot())
Saving 7.29 x 4.51 in image

# compare_means(MCP1_pg_ug_2015_rank ~ AgeGroup,  data = AEDB.CEA, method = "kruskal.test")
p1 <- ggpubr::ggboxplot(AEDB.CEA %>% filter(!is.na(KDOQI)), 
                  x = c("KDOQI"),
                  y = "MCP1_pg_ug_2015_rank", 
                  xlab = "Kidney function (KDOQI) per gender",
                  ylab = "MCP1 plaque [pg/ug]\n(inverse-rank transformation)",
                  color = "Gender",
                  palette = c("#D5267B", "#1290D9"),
                  add = "jitter") #+
  # stat_compare_means(method = "kruskal.test")
ggpar(p1 + rotate_x_text(45), legend = "right") 
rm(p1)
ggsave(file = paste0(PLOT_loc, "/",Today,".AEDB.CEA.MCP1.plaque.KDOQI.pdf"), plot = last_plot())
Saving 7.29 x 4.51 in image

# compare_means(MCP1_pg_ug_2015_rank ~ AgeGroup,  data = AEDB.CEA, method = "kruskal.test")
p1 <- ggpubr::ggboxplot(AEDB.CEA %>% filter(!is.na(eGFRGroup) & !is.na(KDOQI)), 
                  x = c("eGFRGroup"),
                  y = "MCP1_pg_ug_2015_rank", 
                  xlab = "eGFR (mL/min per 1.73 m2) by KDOQI group",
                  ylab = "MCP1 plaque [pg/ug]\n(inverse-rank transformation)",
                  color = "KDOQI",
                  palette = "npg",
                  add = "jitter") #+
  # stat_compare_means(method = "kruskal.test")
ggpar(p1, legend = "right")
rm(p1)
ggsave(file = paste0(PLOT_loc, "/",Today,".AEDB.CEA.MCP1.plaque.EGFR_KDOQI.pdf"), plot = last_plot())
Saving 7.29 x 4.51 in image

MCP1 plasma levels


# Global test
# compare_means(MCP1_pg_ug_2015_rank ~ Gender,  data = AEDB.CEA, method = "wilcox.test")
ggpubr::ggboxplot(AEDB.CEA %>% filter(!is.na(eGFRGroup)), 
                  x = c("eGFRGroup"),
                  y = "MCP1_plasma_olink", 
                  xlab = "eGFR (mL/min per 1.73 m2) per gender",
                  ylab = "MCP1 plasma [AU]",
                  color = "Gender",
                  palette = c("#D5267B", "#1290D9"),
                  add = "jitter") #+
  # stat_compare_means(method = "wilcox.test")
ggsave(file = paste0(PLOT_loc, "/",Today,".AEDB.CEA.MCP1.plasma.raw.EGFR.pdf"), plot = last_plot())

# compare_means(MCP1_pg_ug_2015_rank ~ AgeGroup,  data = AEDB.CEA, method = "kruskal.test")
p1 <- ggpubr::ggboxplot(AEDB.CEA %>% filter(!is.na(KDOQI)), 
                  x = c("KDOQI"),
                  y = "MCP1_plasma_olink", 
                  xlab = "Kidney function (KDOQI) per gender",
                  ylab = "MCP1 plasma [AU]",
                  color = "Gender",
                  palette = c("#D5267B", "#1290D9"),
                  add = "jitter") #+
  # stat_compare_means(method = "kruskal.test")
ggpar(p1 + rotate_x_text(45), legend = "right") 
rm(p1)
ggsave(file = paste0(PLOT_loc, "/",Today,".AEDB.CEA.MCP1.plasma.raw.KDOQI.pdf"), plot = last_plot())

# compare_means(MCP1_pg_ug_2015_rank ~ AgeGroup,  data = AEDB.CEA, method = "kruskal.test")
p1 <- ggpubr::ggboxplot(AEDB.CEA %>% filter(!is.na(eGFRGroup) & !is.na(KDOQI)), 
                  x = c("eGFRGroup"),
                  y = "MCP1_plasma_olink", 
                  xlab = "eGFR (mL/min per 1.73 m2) by KDOQI group",
                  ylab = "MCP1 plasma [AU]",
                  color = "KDOQI",
                  palette = "npg",
                  add = "jitter") #+
  # stat_compare_means(method = "kruskal.test")
ggpar(p1, legend = "right")
rm(p1)
ggsave(file = paste0(PLOT_loc, "/",Today,".AEDB.CEA.MCP1.plasma.raw.EGFR_KDOQI.pdf"), plot = last_plot())

BMI

We want to create figures of MCP1 levels stratified by BMI.

  • Box and Whisker plot for MCP-1 plaque levels by BMI WHO group (underweight, normal, overweight, obese)
  • Box and Whisker plot for MCP-1 plasma levels by BMI group (<18.5, 18.5-24.9, 25, 29.9, 30-24.9, 35+)
library(dplyr)

AEDB.CEA <- AEDB.CEA %>% mutate(BMIGroup = factor(case_when(BMI < 18.5 ~ "<18.5",
                                                     BMI >= 18.5  & BMI < 25 ~ "18.5-24",
                                                     BMI >= 25  & BMI < 30 ~ "25-29",
                                                     BMI >= 30  & BMI < 35 ~ "30-35",
                                                     BMI >= 35 ~ "35+"))) 

# require(labelled)
# AEDB.CEA$BMI_US <- as_factor(AEDB.CEA$BMI_US)
# AEDB.CEA$BMI_WHO <- as_factor(AEDB.CEA$BMI_WHO)
# table(AEDB.CEA$BMI_WHO, AEDB.CEA$BMI_US)

table(AEDB.CEA$BMIGroup, AEDB.CEA$Gender)
         
          female male
  <18.5       17    8
  18.5-24    277  574
  25-29      267  786
  30-35       99  189
  35+         32   32
table(AEDB.CEA$BMIGroup, AEDB.CEA$BMI_WHO)
         
          No data available/missing Underweight Normal Overweight Obese
  <18.5                           0          24      0          0     0
  18.5-24                         0           0    851          0     0
  25-29                           0           0      0       1052     0
  30-35                           0           0      0          0   288
  35+                             0           0      0          0    64

Now we can draw some graphs of plasma/plaque MCP1 levels per sex and age group.

Inverse-rank transformed data

MCP1 plaque levels


# Global test
# compare_means(MCP1_pg_ug_2015_rank ~ Gender,  data = AEDB.CEA, method = "wilcox.test")
ggpubr::ggboxplot(AEDB.CEA %>% filter(!is.na(BMIGroup)), 
                  x = c("BMIGroup"),
                  y = "MCP1_pg_ug_2015_rank", 
                  xlab = "BMI groups (kg/m2)",
                  ylab = "MCP1 plaque [pg/ug]\n(inverse-rank transformation)",
                  # color = "Gender",
                  # palette = c("#D5267B", "#1290D9"),
                  color = "#1290D9",
                  add = "jitter") #+
  # stat_compare_means(method = "wilcox.test")
ggsave(file = paste0(PLOT_loc, "/",Today,".AEDB.CEA.MCP1.plaque.BMI.pdf"), plot = last_plot())

# compare_means(MCP1_pg_ug_2015_rank ~ Gender,  data = AEDB.CEA, method = "wilcox.test")
ggpubr::ggboxplot(AEDB.CEA %>% filter(!is.na(BMIGroup)), 
                  x = c("BMIGroup"),
                  y = "MCP1_pg_ug_2015_rank", 
                  xlab = "BMI groups (kg/m2)",
                  ylab = "MCP1 plaque [pg/ug]\n(inverse-rank transformation)",
                  color = "Gender",
                  palette = c("#D5267B", "#1290D9"),
                  add = "jitter") #+
  # stat_compare_means(method = "wilcox.test")
ggsave(file = paste0(PLOT_loc, "/",Today,".AEDB.CEA.MCP1.plaque.BMI_byGender.pdf"), plot = last_plot())

# compare_means(MCP1_pg_ug_2015_rank ~ AgeGroup,  data = AEDB.CEA, method = "kruskal.test")
p1 <- ggpubr::ggboxplot(AEDB.CEA %>% filter(!is.na(BMIGroup) & !is.na(BMI_WHO)), 
                  x = c("AgeGroup"),
                  y = "MCP1_pg_ug_2015_rank", 
                  xlab = "BMI groups (kg/m2) per WHO categories",
                  ylab = "MCP1 plaque [pg/ug]\n(inverse-rank transformation)",
                  color = "BMI_WHO",
                  palette = "npg",
                  add = "jitter") #+
  # stat_compare_means(method = "kruskal.test")
ggpar(p1, legend = "right")
rm(p1)
ggsave(file = paste0(PLOT_loc, "/",Today,".AEDB.CEA.MCP1.plaque.BMI_byWHO.pdf"), plot = last_plot())

MCP1 plasma levels

NOT AVAILABLE YET


# Global test
# compare_means(MCP1_pg_ug_2015_rank ~ Gender,  data = AEDB.CEA, method = "wilcox.test")
ggpubr::ggboxplot(AEDB.CEA %>% filter(!is.na(BMIGroup)), 
                  x = c("BMIGroup"),
                  y = "MCP1_plasma_olink_rank", 
                  xlab = "BMI groups (kg/m2)",
                  ylab = "MCP1 plasma [AU]\n(inverse-rank transformation)",
                  # color = "Gender",
                  # palette = c("#D5267B", "#1290D9"),
                  color = "#1290D9",
                  add = "jitter") #+
  # stat_compare_means(method = "wilcox.test")
ggsave(file = paste0(PLOT_loc, "/",Today,".AEDB.CEA.MCP1.plasma.BMI.pdf"), plot = last_plot())

# compare_means(MCP1_pg_ug_2015_rank ~ Gender,  data = AEDB.CEA, method = "wilcox.test")
ggpubr::ggboxplot(AEDB.CEA %>% filter(!is.na(BMIGroup)), 
                  x = c("BMIGroup"),
                  y = "MCP1_plasma_olink_rank", 
                  xlab = "BMI groups (kg/m2)",
                  ylab = "MCP1 plasma [AU]\n(inverse-rank transformation)",
                  color = "Gender",
                  palette = c("#D5267B", "#1290D9"),
                  add = "jitter") #+
  # stat_compare_means(method = "wilcox.test")
ggsave(file = paste0(PLOT_loc, "/",Today,".AEDB.CEA.MCP1.plasma.BMI_byGender.pdf"), plot = last_plot())

# compare_means(MCP1_pg_ug_2015_rank ~ AgeGroup,  data = AEDB.CEA, method = "kruskal.test")
p1 <- ggpubr::ggboxplot(AEDB.CEA %>% filter(!is.na(BMIGroup) & !is.na(BMI_WHO)), 
                  x = c("AgeGroup"),
                  y = "MCP1_plasma_olink_rank", 
                  xlab = "BMI groups (kg/m2) per WHO categories",
                  ylab = "MCP1 plasma [AU]\n(inverse-rank transformation)",
                  color = "BMI_WHO",
                  palette = "npg",
                  add = "jitter") #+
  # stat_compare_means(method = "kruskal.test")
ggpar(p1, legend = "right")
rm(p1)
ggsave(file = paste0(PLOT_loc, "/",Today,".AEDB.CEA.MCP1.plasma.BMI_byWHO.pdf"), plot = last_plot())

Raw data

Simalarly but now for the raw data as median ± interquartile range.

MCP1 plaque levels


# Global test
# compare_means(MCP1_pg_ug_2015_rank ~ Gender,  data = AEDB.CEA, method = "wilcox.test")
ggpubr::ggboxplot(AEDB.CEA %>% filter(!is.na(BMIGroup)), 
                  x = c("BMIGroup"),
                  y = "MCP1_pg_ug_2015_rank", 
                  xlab = "BMI groups (kg/m2)",
                  ylab = "MCP1 plaque [pg/ug]\n(inverse-rank transformation)",
                  # color = "Gender",
                  # palette = c("#D5267B", "#1290D9"),
                  color = "#1290D9",
                  add = "jitter") #+
  # stat_compare_means(method = "wilcox.test")
ggsave(file = paste0(PLOT_loc, "/",Today,".AEDB.CEA.MCP1.plaque.BMI.pdf"), plot = last_plot())
Saving 7.29 x 4.51 in image

# compare_means(MCP1_pg_ug_2015_rank ~ Gender,  data = AEDB.CEA, method = "wilcox.test")
ggpubr::ggboxplot(AEDB.CEA %>% filter(!is.na(BMIGroup)), 
                  x = c("BMIGroup"),
                  y = "MCP1_pg_ug_2015_rank", 
                  xlab = "BMI groups (kg/m2)",
                  ylab = "MCP1 plaque [pg/ug]\n(inverse-rank transformation)",
                  color = "Gender",
                  palette = c("#D5267B", "#1290D9"),
                  add = "jitter") #+
  # stat_compare_means(method = "wilcox.test")
ggsave(file = paste0(PLOT_loc, "/",Today,".AEDB.CEA.MCP1.plaque.BMI_byGender.pdf"), plot = last_plot())
Saving 7.29 x 4.51 in image

# compare_means(MCP1_pg_ug_2015_rank ~ AgeGroup,  data = AEDB.CEA, method = "kruskal.test")
p1 <- ggpubr::ggboxplot(AEDB.CEA %>% filter(!is.na(BMIGroup) & !is.na(BMI_WHO)), 
                  x = c("AgeGroup"),
                  y = "MCP1_pg_ug_2015_rank", 
                  xlab = "BMI groups (kg/m2) per WHO categories",
                  ylab = "MCP1 plaque [pg/ug]\n(inverse-rank transformation)",
                  color = "BMI_WHO",
                  palette = "npg",
                  add = "jitter") #+
  # stat_compare_means(method = "kruskal.test")
ggpar(p1, legend = "right")
rm(p1)
ggsave(file = paste0(PLOT_loc, "/",Today,".AEDB.CEA.MCP1.plaque.BMI_byWHO.pdf"), plot = last_plot())
Saving 7.29 x 4.51 in image

MCP1 plasma levels

# Global test
# compare_means(MCP1_pg_ug_2015_rank ~ Gender,  data = AEDB.CEA, method = "wilcox.test")
ggpubr::ggboxplot(AEDB.CEA %>% filter(!is.na(BMIGroup)), 
                  x = c("BMIGroup"),
                  y = "MCP1_plasma_olink", 
                  xlab = "BMI groups (kg/m2)",
                  ylab = "MCP1 plasma [AU]",
                  # color = "Gender",
                  # palette = c("#D5267B", "#1290D9"),
                  color = "#1290D9",
                  add = "jitter") #+
  # stat_compare_means(method = "wilcox.test")
ggsave(file = paste0(PLOT_loc, "/",Today,".AEDB.CEA.MCP1.plasma.raw.BMI.pdf"), plot = last_plot())

# compare_means(MCP1_pg_ug_2015_rank ~ Gender,  data = AEDB.CEA, method = "wilcox.test")
ggpubr::ggboxplot(AEDB.CEA %>% filter(!is.na(BMIGroup)), 
                  x = c("BMIGroup"),
                  y = "MCP1_plasma_olink", 
                  xlab = "BMI groups (kg/m2)",
                  ylab = "MCP1 plasma [AU]",
                  color = "Gender",
                  palette = c("#D5267B", "#1290D9"),
                  add = "jitter") #+
  # stat_compare_means(method = "wilcox.test")
ggsave(file = paste0(PLOT_loc, "/",Today,".AEDB.CEA.MCP1.plasma.raw.BMI_byGender.pdf"), plot = last_plot())

# compare_means(MCP1_pg_ug_2015_rank ~ AgeGroup,  data = AEDB.CEA, method = "kruskal.test")
p1 <- ggpubr::ggboxplot(AEDB.CEA %>% filter(!is.na(BMIGroup) & !is.na(BMI_WHO)), 
                  x = c("AgeGroup"),
                  y = "MCP1_plasma_olink", 
                  xlab = "BMI groups (kg/m2) per WHO categories",
                  ylab = "MCP1 plasma [AU]",
                  color = "BMI_WHO",
                  palette = "npg",
                  add = "jitter") #+
  # stat_compare_means(method = "kruskal.test")
ggpar(p1, legend = "right")
rm(p1)
ggsave(file = paste0(PLOT_loc, "/",Today,".AEDB.CEA.MCP1.plasma.raw.BMI_byWHO.pdf"), plot = last_plot())

Diabetes

We want to create figures of MCP1 levels stratified by type 2 diabetes.

  • Box and Whisker plot for MCP-1 plaque levels by type 2 diabetes group (no, yes)

Now we can draw some graphs of plasma/plaque MCP1 levels per sex and age group.

Inverse-rank transformed data

MCP1 plaque levels


# Global test
# compare_means(MCP1_pg_ug_2015_rank ~ Gender,  data = AEDB.CEA, method = "wilcox.test")
ggpubr::ggboxplot(AEDB.CEA %>% filter(!is.na(DiabetesStatus)), 
                  x = c("DiabetesStatus"),
                  y = "MCP1_pg_ug_2015_rank", 
                  xlab = "Diabetes status",
                  ylab = "MCP1 plaque [pg/ug]\n(inverse-rank transformation)",
                  # color = "Gender",
                  # palette = c("#D5267B", "#1290D9"),
                  color = "#1290D9",
                  add = "jitter") #+
  # stat_compare_means(method = "wilcox.test")
ggsave(file = paste0(PLOT_loc, "/",Today,".AEDB.CEA.MCP1.plaque.Diabetes.pdf"), plot = last_plot())

# compare_means(MCP1_pg_ug_2015_rank ~ AgeGroup,  data = AEDB.CEA, method = "kruskal.test")
ggpubr::ggboxplot(AEDB.CEA %>% filter(!is.na(DiabetesStatus)), 
                  x = c("DiabetesStatus"),
                  y = "MCP1_pg_ug_2015_rank", 
                  xlab = "Diabetes status per gender",
                  ylab = "MCP1 plaque [pg/ug]\n(inverse-rank transformation)",
                  color = "Gender",
                  palette = c("#D5267B", "#1290D9"),
                  add = "jitter") #+
  # stat_compare_means(method = "kruskal.test")
ggsave(file = paste0(PLOT_loc, "/",Today,".AEDB.CEA.MCP1.plaque.Diabetes_byGender.pdf"), plot = last_plot())

MCP1 plasma levels

# Global test
# compare_means(MCP1_pg_ug_2015_rank ~ Gender,  data = AEDB.CEA, method = "wilcox.test")
ggpubr::ggboxplot(AEDB.CEA %>% filter(!is.na(DiabetesStatus)), 
                  x = c("DiabetesStatus"),
                  y = "MCP1_plasma_olink_rank", 
                  xlab = "Diabetes status",
                  ylab = "MCP1 plasma [AU]\n(inverse-rank transformation)",
                  # color = "Gender",
                  # palette = c("#D5267B", "#1290D9"),
                  color = "#1290D9",
                  add = "jitter") #+
  # stat_compare_means(method = "wilcox.test")
ggsave(file = paste0(PLOT_loc, "/",Today,".AEDB.CEA.MCP1.plasma.Diabetes.pdf"), plot = last_plot())

# compare_means(MCP1_pg_ug_2015_rank ~ AgeGroup,  data = AEDB.CEA, method = "kruskal.test")
ggpubr::ggboxplot(AEDB.CEA %>% filter(!is.na(DiabetesStatus)), 
                  x = c("DiabetesStatus"),
                  y = "MCP1_plasma_olink_rank", 
                  xlab = "Diabetes status per gender",
                  ylab = "MCP1 plasma [AU]\n(inverse-rank transformation)",
                  color = "Gender",
                  palette = c("#D5267B", "#1290D9"),
                  add = "jitter") #+
  # stat_compare_means(method = "kruskal.test")
ggsave(file = paste0(PLOT_loc, "/",Today,".AEDB.CEA.MCP1.plasma.Diabetes_byGender.pdf"), plot = last_plot())

Raw data

Simalarly but now for the raw data as median ± interquartile range.

MCP1 plaque levels


# Global test
# compare_means(MCP1_pg_ug_2015_rank ~ Gender,  data = AEDB.CEA, method = "wilcox.test")
ggpubr::ggboxplot(AEDB.CEA %>% filter(!is.na(DiabetesStatus)), 
                  x = c("DiabetesStatus"),
                  y = "MCP1_pg_ug_2015_rank", 
                  xlab = "Diabetes status",
                  ylab = "MCP1 plaque [pg/ug]\n(inverse-rank transformation)",
                  # color = "Gender",
                  # palette = c("#D5267B", "#1290D9"),
                  color = "#1290D9",
                  add = "jitter") #+
  # stat_compare_means(method = "wilcox.test")
ggsave(file = paste0(PLOT_loc, "/",Today,".AEDB.CEA.MCP1.plaque.Diabetes.pdf"), plot = last_plot())
Saving 7.29 x 4.51 in image

# compare_means(MCP1_pg_ug_2015_rank ~ AgeGroup,  data = AEDB.CEA, method = "kruskal.test")
ggpubr::ggboxplot(AEDB.CEA %>% filter(!is.na(DiabetesStatus)), 
                  x = c("DiabetesStatus"),
                  y = "MCP1_pg_ug_2015_rank", 
                  xlab = "Diabetes status per gender",
                  ylab = "MCP1 plaque [pg/ug]\n(inverse-rank transformation)",
                  color = "Gender",
                  palette = c("#D5267B", "#1290D9"),
                  add = "jitter") #+
  # stat_compare_means(method = "kruskal.test")
ggsave(file = paste0(PLOT_loc, "/",Today,".AEDB.CEA.MCP1.plaque.Diabetes_byGender.pdf"), plot = last_plot())
Saving 7.29 x 4.51 in image

MCP1 plasma levels


# Global test
# compare_means(MCP1_pg_ug_2015 ~ Gender,  data = AEDB.CEA, method = "wilcox.test")
ggpubr::ggboxplot(AEDB.CEA %>% filter(!is.na(DiabetesStatus)), 
                  x = c("DiabetesStatus"),
                  y = "MCP1_plasma_olink", 
                  xlab = "Diabetes status",
                  ylab = "MCP1 plasma [AU]",
                  # color = "Gender",
                  # palette = c("#D5267B", "#1290D9"),
                  color = "#1290D9",
                  add = c("median_iqr", "jitter")) #+
  # stat_compare_means(method = "wilcox.test")
ggsave(file = paste0(PLOT_loc, "/",Today,".AEDB.CEA.MCP1.plasma.rawDiabetes.pdf"), plot = last_plot())

# compare_means(MCP1_pg_ug_2015 ~ AgeGroup,  data = AEDB.CEA, method = "kruskal.test")
ggpubr::ggboxplot(AEDB.CEA %>% filter(!is.na(DiabetesStatus)), 
                  x = c("DiabetesStatus"),
                  y = "MCP1_plasma_olink", 
                  xlab = "Diabetes status per gender",
                  ylab = "MCP1 plasma [AU]",
                  color = "Gender",
                  palette = c("#D5267B", "#1290D9"),
                  add = c("median_iqr", "jitter")) #+
  # stat_compare_means(method = "kruskal.test")
ggsave(file = paste0(PLOT_loc, "/",Today,".AEDB.CEA.MCP1.plasma.raw.Diabetes_byGender.pdf"), plot = last_plot())

Smoking

We want to create figures of MCP1 levels stratified by smoking.

  • Box and Whisker plot for MCP-1 plaque levels by smoking group (never, ex, current)

Now we can draw some graphs of plasma/plaque MCP1 levels per sex and age group.

Inverse-rank transformed data

MCP1 plaque levels


# Global test
# compare_means(MCP1_pg_ug_2015_rank ~ Gender,  data = AEDB.CEA, method = "wilcox.test")
ggpubr::ggboxplot(AEDB.CEA %>% filter(!is.na(SmokerStatus)), 
                  x = c("SmokerStatus"),
                  y = "MCP1_pg_ug_2015_rank", 
                  xlab = "Smoker status",
                  ylab = "MCP1 plaque [pg/ug]\n(inverse-rank transformation)",
                  # color = "Gender",
                  # palette = c("#D5267B", "#1290D9"),
                  color = "#1290D9", 
                  add = "jitter") #+
  # stat_compare_means(method = "wilcox.test")
ggsave(file = paste0(PLOT_loc, "/",Today,".AEDB.CEA.MCP1.plaque.Smoking.pdf"), plot = last_plot())

# compare_means(MCP1_pg_ug_2015_rank ~ AgeGroup,  data = AEDB.CEA, method = "kruskal.test")
ggpubr::ggboxplot(AEDB.CEA %>% filter(!is.na(SmokerStatus)), 
                  x = c("SmokerStatus"),
                  y = "MCP1_pg_ug_2015_rank", 
                  xlab = "Smoker status per gender",
                  ylab = "MCP1 plaque [pg/ug]\n(inverse-rank transformation)",
                  color = "Gender",
                  palette = c("#D5267B", "#1290D9"),
                  add = "jitter") #+
  # stat_compare_means(method = "kruskal.test")
ggsave(file = paste0(PLOT_loc, "/",Today,".AEDB.CEA.MCP1.plaque.Smoking_byGender.pdf"), plot = last_plot())

MCP1 plasma levels

# Global test
# compare_means(MCP1_pg_ug_2015_rank ~ Gender,  data = AEDB.CEA, method = "wilcox.test")
ggpubr::ggboxplot(AEDB.CEA %>% filter(!is.na(SmokerStatus)), 
                  x = c("SmokerStatus"),
                  y = "MCP1_plasma_olink_rank", 
                  xlab = "Smoker status",
                  ylab = "MCP1 plasma [AU]\n(inverse-rank transformation)",
                  # color = "Gender",
                  # palette = c("#D5267B", "#1290D9"),
                  color = "#1290D9", 
                  add = "jitter") #+
  # stat_compare_means(method = "wilcox.test")
ggsave(file = paste0(PLOT_loc, "/",Today,".AEDB.CEA.MCP1.plasma.Smoking.pdf"), plot = last_plot())

# compare_means(MCP1_pg_ug_2015_rank ~ AgeGroup,  data = AEDB.CEA, method = "kruskal.test")
ggpubr::ggboxplot(AEDB.CEA %>% filter(!is.na(SmokerStatus)), 
                  x = c("SmokerStatus"),
                  y = "MCP1_plasma_olink_rank", 
                  xlab = "Smoker status per gender",
                  ylab = "MCP1 plasma [AU]\n(inverse-rank transformation)",
                  color = "Gender",
                  palette = c("#D5267B", "#1290D9"),
                  add = "jitter") #+
  # stat_compare_means(method = "kruskal.test")
ggsave(file = paste0(PLOT_loc, "/",Today,".AEDB.CEA.MCP1.plasma.Smoking_byGender.pdf"), plot = last_plot())

Raw data

Simalarly but now for the raw data as median ± interquartile range.

MCP1 plaque levels


# Global test
# compare_means(MCP1_pg_ug_2015_rank ~ Gender,  data = AEDB.CEA, method = "wilcox.test")
ggpubr::ggboxplot(AEDB.CEA %>% filter(!is.na(SmokerStatus)), 
                  x = c("SmokerStatus"),
                  y = "MCP1_pg_ug_2015_rank", 
                  xlab = "Smoker status",
                  ylab = "MCP1 plaque [pg/ug]\n(inverse-rank transformation)",
                  # color = "Gender",
                  # palette = c("#D5267B", "#1290D9"),
                  color = "#1290D9", 
                  add = "jitter") #+
  # stat_compare_means(method = "wilcox.test")
ggsave(file = paste0(PLOT_loc, "/",Today,".AEDB.CEA.MCP1.plaque.Smoking.pdf"), plot = last_plot())
Saving 7.29 x 4.51 in image

# compare_means(MCP1_pg_ug_2015_rank ~ AgeGroup,  data = AEDB.CEA, method = "kruskal.test")
ggpubr::ggboxplot(AEDB.CEA %>% filter(!is.na(SmokerStatus)), 
                  x = c("SmokerStatus"),
                  y = "MCP1_pg_ug_2015_rank", 
                  xlab = "Smoker status per gender",
                  ylab = "MCP1 plaque [pg/ug]\n(inverse-rank transformation)",
                  color = "Gender",
                  palette = c("#D5267B", "#1290D9"),
                  add = "jitter") #+
  # stat_compare_means(method = "kruskal.test")
ggsave(file = paste0(PLOT_loc, "/",Today,".AEDB.CEA.MCP1.plaque.Smoking_byGender.pdf"), plot = last_plot())
Saving 7.29 x 4.51 in image

MCP1 plasma levels

# Global test
# compare_means(MCP1_pg_ug_2015 ~ Gender,  data = AEDB.CEA, method = "wilcox.test")
ggpubr::ggboxplot(AEDB.CEA %>% filter(!is.na(SmokerStatus)), 
                  x = c("SmokerStatus"),
                  y = "MCP1_plasma_olink", 
                  xlab = "Smoker status",
                  ylab = "MCP1 plasma [AU]",
                  # color = "Gender",
                  # palette = c("#D5267B", "#1290D9"),
                  color = "#1290D9", 
                  add = c("median_iqr", "jitter")) #+
  # stat_compare_means(method = "wilcox.test")
ggsave(file = paste0(PLOT_loc, "/",Today,".AEDB.CEA.MCP1.plasma.raw.Smoking.pdf"), plot = last_plot())

# compare_means(MCP1_pg_ug_2015 ~ AgeGroup,  data = AEDB.CEA, method = "kruskal.test")
ggpubr::ggboxplot(AEDB.CEA %>% filter(!is.na(SmokerStatus)), 
                  x = c("SmokerStatus"),
                  y = "MCP1_plasma_olink", 
                  xlab = "Smoker status per gender",
                  ylab = "MCP1 plasma [AU]",
                  color = "Gender",
                  palette = c("#D5267B", "#1290D9"),
                  add = c("median_iqr", "jitter")) #+
  # stat_compare_means(method = "kruskal.test")
ggsave(file = paste0(PLOT_loc, "/",Today,".AEDB.CEA.MCP1.plasma.raw.Smoking_byGender.pdf"), plot = last_plot())

Stenosis

We want to create figures of MCP1 levels stratified by stenosis grade.

  • Box and Whisker plot for MCP-1 plaque levels by stenosis grade group (<70, 70-89, 90+)
library(dplyr)

AEDB.CEA <- AEDB.CEA %>% mutate(StenoticGroup = factor(case_when(stenose == "0-49%" ~ "<70",
                                                     stenose == "0-49%" ~ "<70",
                                                     stenose == "50-70%" ~ "<70",
                                                     stenose == "70-90%" ~ "70-89",
                                                     stenose == "50-99%" ~ "90+",
                                                     stenose == "70-99%" ~ "90+",
                                                     stenose == "100% (Occlusion)" ~ "90+",
                                                     stenose == "90-99%" ~ "90+")))

table(AEDB.CEA$StenoticGroup, AEDB.CEA$Gender)
       
        female male
  <70       46  157
  70-89    365  762
  90+      316  726
table(AEDB.CEA$stenose, AEDB.CEA$StenoticGroup)
                  
                    <70 70-89  90+
  missing             0     0    0
  0-49%              13     0    0
  50-70%            190     0    0
  70-90%              0  1127    0
  90-99%              0     0  928
  100% (Occlusion)    0     0   31
  NA                  0     0    0
  50-99%              0     0   15
  70-99%              0     0   68
  99                  0     0    0

Now we can draw some graphs of plasma/plaque MCP1 levels per sex and age group.

Inverse-rank transformed data

MCP1 plaque levels


# Global test
# compare_means(MCP1_pg_ug_2015_rank ~ Gender,  data = AEDB.CEA, method = "wilcox.test")
ggpubr::ggboxplot(AEDB.CEA %>% filter(!is.na(StenoticGroup)), 
                  x = c("StenoticGroup"),
                  y = "MCP1_pg_ug_2015_rank", 
                  xlab = "Stenotic grade",
                  ylab = "MCP1 plaque [pg/ug]\n(inverse-rank transformation)",
                  # color = "Gender",
                  # palette = c("#D5267B", "#1290D9"),
                  color = "#1290D9",
                  add = "jitter") #+
  # stat_compare_means(method = "wilcox.test")
ggsave(file = paste0(PLOT_loc, "/",Today,".AEDB.CEA.MCP1.plaque.Stenosis.pdf"), plot = last_plot())

# compare_means(MCP1_pg_ug_2015_rank ~ AgeGroup,  data = AEDB.CEA, method = "kruskal.test")
ggpubr::ggboxplot(AEDB.CEA %>% filter(!is.na(StenoticGroup)), 
                  x = c("StenoticGroup"),
                  y = "MCP1_pg_ug_2015_rank", 
                  xlab = "Stenotic grade per gender",
                  ylab = "MCP1 plaque [pg/ug]\n(inverse-rank transformation)",
                  color = "Gender",
                  palette = c("#D5267B", "#1290D9"),
                  add = "jitter") #+
  # stat_compare_means(method = "kruskal.test")
ggsave(file = paste0(PLOT_loc, "/",Today,".AEDB.CEA.MCP1.plaque.Stenosis_byGender.pdf"), plot = last_plot())

MCP1 plasma levels


# Global test
# compare_means(MCP1_pg_ug_2015_rank ~ Gender,  data = AEDB.CEA, method = "wilcox.test")
ggpubr::ggboxplot(AEDB.CEA %>% filter(!is.na(StenoticGroup)), 
                  x = c("StenoticGroup"),
                  y = "MCP1_plasma_olink_rank", 
                  xlab = "Stenotic grade",
                  ylab = "MCP1 plasma [AU]\n(inverse-rank transformation)",
                  # color = "Gender",
                  # palette = c("#D5267B", "#1290D9"),
                  color = "#1290D9",
                  add = "jitter") #+
  # stat_compare_means(method = "wilcox.test")
ggsave(file = paste0(PLOT_loc, "/",Today,".AEDB.CEA.MCP1.plasma.Stenosis.pdf"), plot = last_plot())

# compare_means(MCP1_pg_ug_2015_rank ~ AgeGroup,  data = AEDB.CEA, method = "kruskal.test")
ggpubr::ggboxplot(AEDB.CEA %>% filter(!is.na(StenoticGroup)), 
                  x = c("StenoticGroup"),
                  y = "MCP1_plasma_olink_rank", 
                  xlab = "Stenotic grade per gender",
                  ylab = "MCP1 plasma [AU]\n(inverse-rank transformation)",
                  color = "Gender",
                  palette = c("#D5267B", "#1290D9"),
                  add = "jitter") #+
  # stat_compare_means(method = "kruskal.test")
ggsave(file = paste0(PLOT_loc, "/",Today,".AEDB.CEA.MCP1.plasma.Stenosis_byGender.pdf"), plot = last_plot())

Raw data

Simalarly but now for the raw data as median ± interquartile range.

MCP1 plaque levels


# Global test
# compare_means(MCP1_pg_ug_2015_rank ~ Gender,  data = AEDB.CEA, method = "wilcox.test")
ggpubr::ggboxplot(AEDB.CEA %>% filter(!is.na(StenoticGroup)), 
                  x = c("StenoticGroup"),
                  y = "MCP1_pg_ug_2015_rank", 
                  xlab = "Stenotic grade",
                  ylab = "MCP1 plaque [pg/ug]\n(inverse-rank transformation)",
                  # color = "Gender",
                  # palette = c("#D5267B", "#1290D9"),
                  color = "#1290D9",
                  add = "jitter") #+
  # stat_compare_means(method = "wilcox.test")
ggsave(file = paste0(PLOT_loc, "/",Today,".AEDB.CEA.MCP1.plaque.Stenosis.pdf"), plot = last_plot())
Saving 7.29 x 4.51 in image

# compare_means(MCP1_pg_ug_2015_rank ~ AgeGroup,  data = AEDB.CEA, method = "kruskal.test")
ggpubr::ggboxplot(AEDB.CEA %>% filter(!is.na(StenoticGroup)), 
                  x = c("StenoticGroup"),
                  y = "MCP1_pg_ug_2015_rank", 
                  xlab = "Stenotic grade per gender",
                  ylab = "MCP1 plaque [pg/ug]\n(inverse-rank transformation)",
                  color = "Gender",
                  palette = c("#D5267B", "#1290D9"),
                  add = "jitter") #+
  # stat_compare_means(method = "kruskal.test")
ggsave(file = paste0(PLOT_loc, "/",Today,".AEDB.CEA.MCP1.plaque.Stenosis_byGender.pdf"), plot = last_plot())
Saving 7.29 x 4.51 in image

MCP1 plasma levels

# Global test
# compare_means(MCP1_pg_ug_2015_rank ~ Gender,  data = AEDB.CEA, method = "wilcox.test")
ggpubr::ggboxplot(AEDB.CEA %>% filter(!is.na(StenoticGroup)), 
                  x = c("StenoticGroup"),
                  y = "MCP1_plasma_olink", 
                  xlab = "Stenotic grade",
                  ylab = "MCP1 plasma [AU]",
                  # color = "Gender",
                  # palette = c("#D5267B", "#1290D9"),
                  color = "#1290D9",
                  add = "jitter") #+
  # stat_compare_means(method = "wilcox.test")
ggsave(file = paste0(PLOT_loc, "/",Today,".AEDB.CEA.MCP1.plasma.raw.Stenosis.pdf"), plot = last_plot())

# compare_means(MCP1_pg_ug_2015_rank ~ AgeGroup,  data = AEDB.CEA, method = "kruskal.test")
ggpubr::ggboxplot(AEDB.CEA %>% filter(!is.na(StenoticGroup)), 
                  x = c("StenoticGroup"),
                  y = "MCP1_plasma_olink", 
                  xlab = "Stenotic grade per gender",
                  ylab = "MCP1 plasma [AU]",
                  color = "Gender",
                  palette = c("#D5267B", "#1290D9"),
                  add = "jitter") #+
  # stat_compare_means(method = "kruskal.test")
ggsave(file = paste0(PLOT_loc, "/",Today,".AEDB.CEA.MCP1.plasma.raw.Stenosis_byGender.pdf"), plot = last_plot())

Circulating vs. plaque MCP1 levels

We will also make a nice correlation plot between plasma and plaque MCP1 levels.


ggpubr::ggscatter(AEDB.CEA, 
                  x = "MCP1_pg_ug_2015",
                  y = "MCP1_plasma_olink", 
                  xlab = "MCP1 plaque [pg/ug]",
                  ylab = "MCP1 plasma [AU]",
                  add = "reg.line", add.params = list(color = "#1290D9"),
                  conf.int = TRUE,
                  cor.coef = TRUE, cor.coeff.args = list(method = "spearman"), cor.coef.coord = c(8,750))
ggsave(file = paste0(PLOT_loc, "/",Today,".AEDB.CEA.MCP1.plaque_vs_plasma.raw.pdf"), plot = last_plot())

ggpubr::ggscatter(AEDB.CEA, 
                  x = "MCP1_pg_ug_2015_rank",
                  y = "MCP1_plasma_olink_rank", 
                  xlab = "MCP1 plaque [pg/ug]\n(inverse-rank transformation)",
                  ylab = "MCP1 plasma [AU]\n(inverse-rank transformation)",
                  add = "reg.line", add.params = list(color = "#1290D9"),
                  conf.int = TRUE,
                  cor.coef = TRUE, cor.coeff.args = list(method = "spearman"), cor.coef.coord = c(2,3))
ggsave(file = paste0(PLOT_loc, "/",Today,".AEDB.CEA.MCP1.plaque_vs_plasma.rank.pdf"), plot = last_plot())

Plaque vs. plaque MCP1 levels

We will also make a nice correlation plot between the two experiments of plaque MCP1 levels.

AEDB.CEA$MCP1_rank <- qnorm((rank(AEDB.CEA$MCP1, na.last = "keep") - 0.5) / sum(!is.na(AEDB.CEA$MCP1)))
summary(AEDB.CEA$MCP1)
summary(AEDB.CEA$MCP1_pg_ug_2015)

ggpubr::ggscatter(AEDB.CEA, 
                  x = "MCP1", 
                  y = "MCP1_pg_ug_2015",
                  xlab = "MCP1 plaque [pg/mL] (exp. no. 1)",
                  ylab = "MCP1 plaque [pg/ug] (exp. no. 2)",
                  add = "reg.line", add.params = list(color = "#1290D9"),
                  conf.int = TRUE,
                  cor.coef = TRUE, cor.coeff.args = list(method = "spearman"))
ggsave(file = paste0(PLOT_loc, "/",Today,".AEDB.CEA.MCP1.plaque_vs_plaque.raw.pdf"), plot = last_plot())

ggpubr::ggscatter(AEDB.CEA, 
                  x = "MCP1_rank", 
                  y = "MCP1_pg_ug_2015_rank",
                  xlab = "MCP1 plaque [pg/mL]\n(INRT,  exp. no. 1)",
                  ylab = "MCP1 plaque [pg/ug]\n(INRT,  exp. no. 2)",
                  add = "reg.line", add.params = list(color = "#1290D9"),
                  conf.int = TRUE,
                  cor.coef = TRUE, cor.coeff.args = list(method = "spearman"))
ggsave(file = paste0(PLOT_loc, "/",Today,".AEDB.CEA.MCP1.plaque_vs_plasma.rank.pdf"), plot = last_plot())

Symptoms

We want to create per-symptom figures.

library(dplyr)

table(AEDB.CEA$AgeGroup, AEDB.CEA$AsymptSympt2G)
       
        Asymptomatic Symptomatic
  <55             24         119
  55-64           76         528
  65-74          124         827
  75-84           43         598
  85+              3          81
table(AEDB.CEA$Gender, AEDB.CEA$AsymptSympt2G)
        
         Asymptomatic Symptomatic
  female           64         675
  male            206        1478
table(AEDB.CEA$AsymptSympt2G)

Asymptomatic  Symptomatic 
         270         2153 

Now we can draw some graphs of plasma/plaque MCP1 levels per symptom group.


# ?ggpubr::ggboxplot()
my_comparisons <- list(c("Asymptomatic", "Symptomatic"))

p1 <- ggpubr::ggboxplot(AEDB.CEA, 
                  x = "AsymptSympt2G", y = "MCP1_pg_ug_2015_rank",
                  title = "MCP1 plaque [pg/ug] levels per symptom", 
                  xlab = "Symptoms",
                  ylab = "MCP1 plaque [pg/ug]\n inverse-rank transformation",
                  color = "AsymptSympt2G", 
                  palette = c(uithof_color[16], uithof_color[23]),
                  add = "dotplot", # Add dotplot
                  add.params = list(binwidth = 0.1, dotsize = 0.3)
          ) +
  stat_compare_means(comparisons = my_comparisons, method = "wilcox.test")
ggpar(p1, legend = c("right"), legend.title = "Symptoms")
ggsave(file = paste0(PLOT_loc, "/",Today,".AEDB.CEA.MCP1.plaque.AsymptSympt2G.pdf"), plot = last_plot())
Saving 7.29 x 4.51 in image

rm(p1)
p1 <- ggpubr::ggboxplot(AEDB.CEA, 
                  x = "Symptoms.5G", y = "MCP1_plasma_olink_rank",
                  title = "MCP1 plasma [AU] levels per symptom", 
                  xlab = "Symptoms",
                  ylab = "MCP1 plasma [AU]\n inverse-rank transformation",
                  color = "Symptoms.5G", 
                  palette = "npg",
                  add = "dotplot", # Add dotplot
                  add.params = list(binwidth = 0.1, dotsize = 0.3)
          ) +
  stat_compare_means(comparisons = my_comparisons, method = "wilcox.test")
ggpar(p1 + rotate_x_text(45), legend = c("right"), legend.title = "Symptoms")

ggsave(file = paste0(PLOT_loc, "/",Today,".AEDB.CEA.MCP1.plasma.AsymptSympt2G.pdf"), plot = last_plot())

rm(p1)

Forest plots

We would also like to visualize the multivariable analyses results.

library(ggplot2)
library(openxlsx)
model1_mcp1 <- read.xlsx(paste0(OUT_loc, "/", Today, ".AEDB.CEA.Bin.Uni.Protein.RANK.Symptoms.MODEL1.xlsx"))
model2_mcp1 <- read.xlsx(paste0(OUT_loc, "/", Today, ".AEDB.CEA.Bin.Multi.Protein.RANK.Symptoms.MODEL2.xlsx"))
model1_mcp1$model <- "univariate"
model2_mcp1$model <- "multivariate"

models_mcp1 <- rbind(model1_mcp1, model2_mcp1)
models_mcp1
NA

Forest plot for experiment 2.

dat <- data.frame(group = factor(c("Age, sex-adjusted", "Age, sex, and adjusted for risk factors"), 
                           
                           levels=c("Age, sex, and adjusted for risk factors", "Age, sex-adjusted")),
                  cen = c(models_mcp1$OR[models_mcp1$Predictor=="MCP1_pg_ug_2015_rank"]),
                  low = c(models_mcp1$low95CI[models_mcp1$Predictor=="MCP1_pg_ug_2015_rank"]),
                  high = c(models_mcp1$up95CI[models_mcp1$Predictor=="MCP1_pg_ug_2015_rank"]))

fp <- ggplot(data = dat, aes(x = group, y = cen, ymin = low, ymax = high)) +
  geom_pointrange(linetype = 2, size = 1, colour = c("#1290D9", "#49A01D")) + 
  geom_hline(yintercept = 1, lty = 2) +  # add a dotted line at x=1 after flip
  coord_flip(ylim = c(0.8, 1.7)) +  # flip coordinates (puts labels on y axis)
  xlab("Model") + ylab("OR (95% CI) for symptomatic plaques") +
  ggtitle("Plaque MCP-1 levels (1 SD increment, exp. #2, n = 1190+)") +
  theme_minimal()  # use a white background
print(fp)

ggsave(file = paste0(PLOT_loc, "/",Today,".AEDB.CEA.MCP1.plaque.exp2.forest.pdf"), plot = fp)

rm(fp)

Forest plot for experiment 1.

dat <- data.frame(group = factor(c("Age, sex-adjusted", "Age, sex, and adjusted for risk factors"), 
                           
                           levels=c("Age, sex, and adjusted for risk factors", "Age, sex-adjusted")),
                  cen = c(models_mcp1$OR[models_mcp1$Predictor=="MCP1_rank"]),
                  low = c(models_mcp1$low95CI[models_mcp1$Predictor=="MCP1_rank"]),
                  high = c(models_mcp1$up95CI[models_mcp1$Predictor=="MCP1_rank"]))

fp <- ggplot(data = dat, aes(x = group, y = cen, ymin = low, ymax = high)) +
  geom_pointrange(linetype = 2, size = 1, colour = c("#1290D9", "#49A01D")) + 
  geom_hline(yintercept = 1, lty = 2) +  # add a dotted line at x=1 after flip
  coord_flip(ylim = c(0.8, 1.7)) +  # flip coordinates (puts labels on y axis)
  xlab("Model") + ylab("OR (95% CI) for symptomatic plaques") +
  ggtitle("Plaque MCP-1 levels (1 SD increment, exp. #1, n = 490+)") +
  theme_minimal()  # use a white background
print(fp)

ggsave(file = paste0(PLOT_loc, "/",Today,".AEDB.CEA.MCP1.plaque.exp1.forest.pdf"), plot = fp)

rm(fp)

MCP1 vs. cytokines plaque levels correlations

We will plot the correlations of other cytokine plaque levels to the MCP1 plaque levels. These include:

  • IL2
  • IL4
  • IL5
  • IL6
  • IL8
  • IL9
  • IL10
  • IL12
  • IL13
  • IL21
  • INFG
  • TNFA
  • MIF
  • MCP1
  • MIP1a
  • RANTES
  • MIG
  • IP10
  • Eotaxin1
  • TARC
  • PARC
  • MDC
  • OPG
  • sICAM1
  • VEGFA
  • TGFB

In addition we will look at three metalloproteinases which were measured using an activity assay.

  • MMP2
  • MMP8
  • MMP9

The proteins were measured using FACS and LUMINEX. Given the different platforms used (FACS vs. LUMINEX), we will inverse rank-normalize these variables as well to scale them to the same scale as the MCP1 plaque levels.

We will set the measurements that yielded ‘0’ to NA, as it is unlikely that any protein ever has exactly 0 copies. The ‘0’ yielded during the experiment are due to the limits of the detection.

Prepare data

cytokines <- c("IL2", "IL4", "IL5", "IL6", "IL8", "IL9", "IL10", "IL12", "IL13", "IL21", 
               "INFG", "TNFA", "MIF", "MCP1", "MIP1a", "RANTES", "MIG", "IP10", "Eotaxin1", 
               "TARC", "PARC", "MDC", "OPG", "sICAM1", "VEGFA", "TGFB")
metalloproteinases <- c("MMP2", "MMP8", "MMP9")

# fix names
names(AEDB.CEA)[names(AEDB.CEA) == "VEFGA"] <- "VEGFA"


proteins_of_interest <- c(cytokines, metalloproteinases)

proteins_of_interest_rank = unlist(lapply(proteins_of_interest, paste0, "_rank"))


# make variables numerics()
AEDB.CEA <- AEDB.CEA %>%
  mutate_each(funs(as.numeric), proteins_of_interest)
  
for(PROTEIN in 1:length(proteins_of_interest)){

  # UCORBIOGSAqc$Z <- NULL
  var.temp.rank = proteins_of_interest_rank[PROTEIN]
  var.temp = proteins_of_interest[PROTEIN]
  
  cat(paste0("\nSelecting ", var.temp, " and standardising: ", var.temp.rank,".\n"))
  cat(paste0("* changing ", var.temp, " to numeric.\n"))

  # AEDB.CEA <-  AEDB.CEA %>% mutate(AEDB.CEA[,var.temp] == replace(AEDB.CEA[,var.temp], AEDB.CEA[,var.temp]==0, NA))

  AEDB.CEA[,var.temp][AEDB.CEA[,var.temp]==0.000000]=NA

  cat(paste0("* standardising ", var.temp, 
             " (mean: ",round(mean(!is.na(AEDB.CEA[,var.temp])), digits = 6),
             ", n = ",sum(!is.na(AEDB.CEA[,var.temp])),").\n"))
  
  AEDB.CEA <- AEDB.CEA %>%
      mutate_at(vars(var.temp), 
        # list(Z = ~ (AEDB.CEA[,var.temp] - mean(AEDB.CEA[,var.temp], na.rm = TRUE))/sd(AEDB.CEA[,var.temp], na.rm = TRUE))
        list(RANK = ~ qnorm((rank(AEDB.CEA[,var.temp], na.last = "keep") - 0.5) / sum(!is.na(AEDB.CEA[,var.temp]))))
      )
  # str(UCORBIOGSAqc$Z)
  cat(paste0("* renaming RANK to ", var.temp.rank,".\n"))
  AEDB.CEA[,var.temp.rank] <- NULL
  names(AEDB.CEA)[names(AEDB.CEA) == "RANK"] <- var.temp.rank
}

Selecting IL2 and standardising: IL2_rank.
* changing IL2 to numeric.
* standardising IL2 (mean: 0.179942, n = 436).
* renaming RANK to IL2_rank.

Selecting IL4 and standardising: IL4_rank.
* changing IL4 to numeric.
* standardising IL4 (mean: 0.167561, n = 406).
* renaming RANK to IL4_rank.

Selecting IL5 and standardising: IL5_rank.
* changing IL5 to numeric.
* standardising IL5 (mean: 0.178291, n = 432).
* renaming RANK to IL5_rank.

Selecting IL6 and standardising: IL6_rank.
* changing IL6 to numeric.
* standardising IL6 (mean: 0.188196, n = 456).
* renaming RANK to IL6_rank.

Selecting IL8 and standardising: IL8_rank.
* changing IL8 to numeric.
* standardising IL8 (mean: 0.182006, n = 441).
* renaming RANK to IL8_rank.

Selecting IL9 and standardising: IL9_rank.
* changing IL9 to numeric.
* standardising IL9 (mean: 0.206356, n = 500).
* renaming RANK to IL9_rank.

Selecting IL10 and standardising: IL10_rank.
* changing IL10 to numeric.
* standardising IL10 (mean: 0.158894, n = 385).
* renaming RANK to IL10_rank.

Selecting IL12 and standardising: IL12_rank.
* changing IL12 to numeric.
* standardising IL12 (mean: 0.167974, n = 407).
* renaming RANK to IL12_rank.

Selecting IL13 and standardising: IL13_rank.
* changing IL13 to numeric.
* standardising IL13 (mean: 0.232769, n = 564).
* renaming RANK to IL13_rank.

Selecting IL21 and standardising: IL21_rank.
* changing IL21 to numeric.
* standardising IL21 (mean: 0.233182, n = 565).
* renaming RANK to IL21_rank.

Selecting INFG and standardising: INFG_rank.
* changing INFG to numeric.
* standardising INFG (mean: 0.179117, n = 434).
* renaming RANK to INFG_rank.

Selecting TNFA and standardising: TNFA_rank.
* changing TNFA to numeric.
* standardising TNFA (mean: 0.163434, n = 396).
* renaming RANK to TNFA_rank.

Selecting MIF and standardising: MIF_rank.
* changing MIF to numeric.
* standardising MIF (mean: 0.233182, n = 565).
* renaming RANK to MIF_rank.

Selecting MCP1 and standardising: MCP1_rank.
* changing MCP1 to numeric.
* standardising MCP1 (mean: 0.229468, n = 556).
* renaming RANK to MCP1_rank.

Selecting MIP1a and standardising: MIP1a_rank.
* changing MIP1a to numeric.
* standardising MIP1a (mean: 0.211721, n = 513).
* renaming RANK to MIP1a_rank.

Selecting RANTES and standardising: RANTES_rank.
* changing RANTES to numeric.
* standardising RANTES (mean: 0.228642, n = 554).
* renaming RANK to RANTES_rank.

Selecting MIG and standardising: MIG_rank.
* changing MIG to numeric.
* standardising MIG (mean: 0.226991, n = 550).
* renaming RANK to MIG_rank.

Selecting IP10 and standardising: IP10_rank.
* changing IP10 to numeric.
* standardising IP10 (mean: 0.205943, n = 499).
* renaming RANK to IP10_rank.

Selecting Eotaxin1 and standardising: Eotaxin1_rank.
* changing Eotaxin1 to numeric.
* standardising Eotaxin1 (mean: 0.233182, n = 565).
* renaming RANK to Eotaxin1_rank.

Selecting TARC and standardising: TARC_rank.
* changing TARC to numeric.
* standardising TARC (mean: 0.200578, n = 486).
* renaming RANK to TARC_rank.

Selecting PARC and standardising: PARC_rank.
* changing PARC to numeric.
* standardising PARC (mean: 0.233182, n = 565).
* renaming RANK to PARC_rank.

Selecting MDC and standardising: MDC_rank.
* changing MDC to numeric.
* standardising MDC (mean: 0.209657, n = 508).
* renaming RANK to MDC_rank.

Selecting OPG and standardising: OPG_rank.
* changing OPG to numeric.
* standardising OPG (mean: 0.232769, n = 564).
* renaming RANK to OPG_rank.

Selecting sICAM1 and standardising: sICAM1_rank.
* changing sICAM1 to numeric.
* standardising sICAM1 (mean: 0.233182, n = 565).
* renaming RANK to sICAM1_rank.

Selecting VEGFA and standardising: VEGFA_rank.
* changing VEGFA to numeric.
* standardising VEGFA (mean: 0.201403, n = 488).
* renaming RANK to VEGFA_rank.

Selecting TGFB and standardising: TGFB_rank.
* changing TGFB to numeric.
* standardising TGFB (mean: 0.22988, n = 557).
* renaming RANK to TGFB_rank.

Selecting MMP2 and standardising: MMP2_rank.
* changing MMP2 to numeric.
* standardising MMP2 (mean: 0.231944, n = 562).
* renaming RANK to MMP2_rank.

Selecting MMP8 and standardising: MMP8_rank.
* changing MMP8 to numeric.
* standardising MMP8 (mean: 0.231944, n = 562).
* renaming RANK to MMP8_rank.

Selecting MMP9 and standardising: MMP9_rank.
* changing MMP9 to numeric.
* standardising MMP9 (mean: 0.231531, n = 561).
* renaming RANK to MMP9_rank.
# rm(var.temp, var.temp.rank)

Visualize transformations

We will just visualize these transformations.

proteins_of_interest_rank_mcp1 <- c("MCP1_pg_ug_2015_rank", "MCP1_pg_ml_2015_rank", proteins_of_interest_rank)

proteins_of_interest_mcp1 <- c("MCP1_pg_ug_2015", "MCP1_pg_ml_2015", proteins_of_interest)

for(PROTEIN in proteins_of_interest_mcp1){
  cat(paste0("Plotting protein ", PROTEIN, ".\n"))
  
  p1 <- ggpubr::gghistogram(AEDB.CEA, PROTEIN,
                    # y = "..count..",
                    color = "white",
                    fill = "Gender",
                    palette = c("#1290D9", "#DB003F"),
                    add = "mean",
                    # rug = TRUE,
                    # add.params =  list(color = "black", linetype = 2),
                    title = paste0(PROTEIN, " plaque levels"),
                    xlab = "",
                    ggtheme = theme_minimal())
  print(p1)
  
}
Plotting protein MCP1_pg_ug_2015.
Using `bins = 30` by default. Pick better value with the argument `bins`.
Plotting protein MCP1_pg_ml_2015.
Plotting protein IL2.
Plotting protein IL4.
Plotting protein IL5.
Plotting protein IL6.
Plotting protein IL8.
Plotting protein IL9.
Plotting protein IL10.
Plotting protein IL12.
Plotting protein IL13.
Plotting protein IL21.
Plotting protein INFG.
Plotting protein TNFA.
Plotting protein MIF.
Plotting protein MCP1.
Plotting protein MIP1a.
Plotting protein RANTES.
Plotting protein MIG.
Plotting protein IP10.
Plotting protein Eotaxin1.
Plotting protein TARC.
Plotting protein PARC.
Plotting protein MDC.
Plotting protein OPG.
Plotting protein sICAM1.
Plotting protein VEGFA.
Plotting protein TGFB.
Plotting protein MMP2.
Plotting protein MMP8.
Plotting protein MMP9.

for(PROTEIN in proteins_of_interest_rank_mcp1){
  cat(paste0("Plotting protein ", PROTEIN, ".\n"))
  
  p1 <- ggpubr::gghistogram(AEDB.CEA, PROTEIN,
                    # y = "..count..",
                    color = "white",
                    fill = "Gender",
                    palette = c("#1290D9", "#DB003F"),
                    add = "mean",
                    # rug = TRUE,
                    # add.params =  list(color = "black", linetype = 2),
                    title = paste0(PROTEIN, " plaque levels"),
                    xlab = "inverse-normal transformation",
                    ggtheme = theme_minimal())
  print(p1)
  
}
Plotting protein MCP1_pg_ug_2015_rank.
Using `bins = 30` by default. Pick better value with the argument `bins`.
Plotting protein MCP1_pg_ml_2015_rank.
Plotting protein IL2_rank.
Plotting protein IL4_rank.
Plotting protein IL5_rank.
Plotting protein IL6_rank.
Plotting protein IL8_rank.
Plotting protein IL9_rank.
Plotting protein IL10_rank.
Plotting protein IL12_rank.
Plotting protein IL13_rank.
Plotting protein IL21_rank.
Plotting protein INFG_rank.
Plotting protein TNFA_rank.
Plotting protein MIF_rank.
Plotting protein MCP1_rank.
Plotting protein MIP1a_rank.
Plotting protein RANTES_rank.
Plotting protein MIG_rank.
Plotting protein IP10_rank.
Plotting protein Eotaxin1_rank.
Plotting protein TARC_rank.
Plotting protein PARC_rank.
Plotting protein MDC_rank.
Plotting protein OPG_rank.
Plotting protein sICAM1_rank.
Plotting protein VEGFA_rank.
Plotting protein TGFB_rank.
Plotting protein MMP2_rank.
Plotting protein MMP8_rank.
Plotting protein MMP9_rank.

NA

Correlations

Here we calculate correlations between MCP1_pg_ug_2015 and 28 other cytokines (including MCP1 as measured in experiment 1. We use Spearman’s test, thus, correlations a given in rho. Please note the indications of measurement methods:

  • L: LUMINEX
  • E: ELISA
  • a: activity assay
# Installation of ggcorrplot()
# --------------------------------
if(!require(devtools)) 
  install.packages("devtools")
devtools::install_github("kassambara/ggcorrplot")
Skipping install of 'ggcorrplot' from a github remote, the SHA1 (c46b4cce) has not changed since last install.
  Use `force = TRUE` to force installation
library(ggcorrplot)

# Creating matrix - inverse-rank transformation
# --------------------------------
AEDB.CEA.temp <- subset(AEDB.CEA, 
                          select = c(proteins_of_interest_rank_mcp1)
                                    )

# str(AEDB.CEA.temp)
AEDB.CEA.matrix.RANK <- as.matrix(AEDB.CEA.temp)
rm(AEDB.CEA.temp)

corr_biomarkers.rank <- round(cor(AEDB.CEA.matrix.RANK, 
                             use = "pairwise.complete.obs", #the correlation or covariance between each pair of variables is computed using all complete pairs of observations on those variables
                             method = "spearman"), 3)
# corr_biomarkers.rank

rename_proteins_of_interest_mcp1 <- c("MCP1 (L, exp2, pg/ug)", "MCP1 (L, exp2, pg/mL)", 
                                    "IL2", "IL4", "IL5", "IL6", "IL8", "IL9", "IL10", "IL12", 
                                    "IL13 (L)", "IL21 (L)", 
                                    "INFG", "TNFA", "MIF (L)", 
                                    "MCP1 (L, exp1)", "MIP1a (L)", "RANTES (L)", "MIG (L)", "IP10 (L)", 
                                    "Eotaxin1 (L)", "TARC (L)", "PARC (L)", "MDC (L)", 
                                    "OPG (L)", "sICAM1 (L)", "VEGFA (E)", "TGFB (E)", "MMP2 (a)", "MMP8 (a)", "MMP9 (a)")
colnames(corr_biomarkers.rank) <- c(rename_proteins_of_interest_mcp1)
rownames(corr_biomarkers.rank) <- c(rename_proteins_of_interest_mcp1)

corr_biomarkers_p.rank <- ggcorrplot::cor_pmat(AEDB.CEA.matrix.RANK, use = "pairwise.complete.obs", method = "spearman")
Cannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with ties
# ++++++++++++++++++++++++++++
# flattenCorrMatrix
# ++++++++++++++++++++++++++++
# cormat : matrix of the correlation coefficients
# pmat : matrix of the correlation p-values
flattenCorrMatrix <- function(cormat, pmat) {
  ut <- upper.tri(cormat)
  data.frame(
    row = rownames(cormat)[row(cormat)[ut]],
    column = rownames(cormat)[col(cormat)[ut]],
    cor  =(cormat)[ut],
    p = pmat[ut]
    )
}

corr_biomarkers.rank.df <- flattenCorrMatrix(corr_biomarkers.rank, corr_biomarkers_p.rank)


names(corr_biomarkers.rank.df)[names(corr_biomarkers.rank.df) == "row"] <- "Cytokine_X"
names(corr_biomarkers.rank.df)[names(corr_biomarkers.rank.df) == "column"] <- "CytokineY"
names(corr_biomarkers.rank.df)[names(corr_biomarkers.rank.df) == "cor"] <- "SpearmanRho"

DT::datatable(corr_biomarkers.rank.df)


fwrite(corr_biomarkers.rank.df, file = paste0(OUT_loc, "/",Today,".correlation_cytokines.txt"))
# Add correlation coefficients
# --------------------------------
# argument lab = TRUE
p1 <- ggcorrplot(corr_biomarkers.rank, 
           method = "square", 
           type = "lower",
           title = "Cross biomarker correlations", 
           show.legend = TRUE, legend.title = bquote("Spearman's"~italic(rho)),
           ggtheme = ggplot2::theme_minimal, outline.color = "#FFFFFF",
           show.diag = TRUE,
           hc.order = FALSE, 
           lab = FALSE,
           digits = 3,
           tl.cex = 6,
           # xlab = c("MCP1"),
           # p.mat = corr_biomarkers_p.rank, sig.level = 0.05,
           colors = c("#1290D9", "#FFFFFF", "#E55738"))
p1
ggsave(filename = paste0(PLOT_loc, "/", Today, ".correlation_cytokines.png"), plot = last_plot())
Saving 7.29 x 4.51 in image
ggsave(filename = paste0(PLOT_loc, "/", Today, ".correlation_cytokines.pdf"), plot = last_plot())
Saving 7.29 x 4.51 in image

rm(p1)

While visually actractive we are not necessarily interested in the correlations between all the cytokines, rather of MCP1 with other cytokines only.

temp <- subset(corr_biomarkers.rank.df, Cytokine_X == "MCP1 (L, exp2, pg/ug)" )
temp$p_log10 <- -log10(temp$p)
p_threshold <- -log10(0.05/29)
p_threshold
[1] 2.763428
p1 <- ggbarplot(temp, x = "CytokineY", y = "SpearmanRho",
          fill = "CytokineY",               # change fill color by cyl
          # color = "white",            # Set bar border colors to white
          palette = uithof_color,            # jco journal color palett. see ?ggpar
          xlab = "Cytokine",
          ylab = expression("Spearman's"~italic(rho)),
          sort.val = "desc",          # Sort the value in dscending order
          sort.by.groups = FALSE,     # Don't sort inside each group
          x.text.angle = 45, # Rotate vertically x axis texts
          cex = 0.8
          )
ggpar(p1, legend = "bottom", 
      legend.title = "") +
  theme(axis.text.x = element_text(size = 9),
        axis.text.y = element_text(size = 9)) 


rm(p1)

temp <- subset(corr_biomarkers.rank.df, Cytokine_X == "MCP1 (L, exp2, pg/mL)" )
temp$p_log10 <- -log10(temp$p)
p_threshold <- -log10(0.05/29)
p_threshold
[1] 2.763428
p1 <- ggbarplot(temp, x = "CytokineY", y = "SpearmanRho",
          fill = "CytokineY",               # change fill color by cyl
          # color = "white",            # Set bar border colors to white
          palette = uithof_color,            # jco journal color palett. see ?ggpar
          xlab = "Cytokine",
          ylab = expression("Spearman's"~italic(rho)),
          sort.val = "desc",          # Sort the value in dscending order
          sort.by.groups = FALSE,     # Don't sort inside each group
          x.text.angle = 45, # Rotate vertically x axis texts
          cex = 0.8
          )
ggpar(p1, legend = "bottom", 
      legend.title = "") +
  theme(axis.text.x = element_text(size = 9),
        axis.text.y = element_text(size = 9)) 


rm(p1)

Another version - problably not good.


p1 <- ggdotchart(temp, x = "CytokineY", y = "p_log10",
           color = "CytokineY",                                # Color by groups
           palette = uithof_color, # Custom color palette
           xlab = "Cytokine",
           ylab = expression(log[10]~"("~italic(p)~")-value"),
           ylim = c(0, 6),
           sorting = "descending",                       # Sort value in descending order
           add = "segments",                             # Add segments from y = 0 to dots
           rotate = FALSE,                                # Rotate vertically
           # group = "CytokineY",                                # Order by groups
           dot.size = 8,                                 # Large dot size
           label = round(temp$SpearmanRho, digits = 3),                        # Add mpg values as dot labels
           font.label = list(color = "white", size = 8, 
                             vjust = 0.5)                   
           )
ggpar(p1, legend = "bottom", 
      legend.title = "") +
  theme(axis.text.x = element_text(size = 9),
        axis.text.y = element_text(size = 9))

ggsave(file = paste0(PLOT_loc, "/",Today,".AEDB.CEA.MCP1.plaque.dotchart.MCP1_vs_Cytokines.png"), plot = last_plot())
Saving 7.29 x 4.51 in image
ggsave(file = paste0(PLOT_loc, "/",Today,".AEDB.CEA.MCP1.plaque.dotchart.MCP1_vs_Cytokines.pdf"), plot = last_plot())
Saving 7.29 x 4.51 in image

rm(temp, p1)

MCP1 vs. cytokines plaque levels lm()

Model 1

In this model we correct for Age, Gender, and year of surgery.

Here we use the inverse-rank normalized data - visually this is more normally distributed.

Analysis of plaque cytokines traits as a function of plasma/plaque MCP1 levels.


GLM.results <- data.frame(matrix(NA, ncol = 15, nrow = 0))
cat("Running linear regression...\n")
Running linear regression...
for (protein in 1:length(TRAITS.PROTEIN.RANK)) {
  PROTEIN = TRAITS.PROTEIN.RANK[protein]
  cat(paste0("\nAnalysis of ",PROTEIN,".\n"))
  for (trait in 1:length(proteins_of_interest_rank)) {
    TRAIT = proteins_of_interest_rank[trait]
    cat(paste0("\n- processing ",TRAIT,"\n\n"))
    currentDF <- as.data.frame(AEDB.CEA %>%
      dplyr::select(., PROTEIN, TRAIT, COVARIATES_M1) %>%
      filter(complete.cases(.))) %>%
      filter_if(~is.numeric(.), all_vars(!is.infinite(.)))
    # for debug
    # print(DT::datatable(currentDF))
    # print(nrow(currentDF))
    # print(str(currentDF))
    ### univariate
    fit <- lm(currentDF[,PROTEIN] ~ currentDF[,TRAIT] + Age + Gender + ORdate_year, data = currentDF)
    model_step <- stepAIC(fit, direction = "both", trace = FALSE)
    print(model_step)
    print(summary(fit))

    GLM.results.TEMP <- data.frame(matrix(NA, ncol = 15, nrow = 0))
    GLM.results.TEMP[1,] = GLM.CON(fit, "AEDB.CEA", PROTEIN, TRAIT, verbose = TRUE)
    GLM.results = rbind(GLM.results, GLM.results.TEMP)
  }
}

Analysis of MCP1_pg_ug_2015_rank.

- processing IL2_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ ORdate_year, data = currentDF)

Coefficients:
(Intercept)  ORdate_year  
   630.7655      -0.3149  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-2.9653 -0.6628 -0.1375  0.5011  3.1626 

Coefficients:
                     Estimate Std. Error t value Pr(>|t|)    
(Intercept)        630.959461 118.334277   5.332 1.79e-07 ***
currentDF[, TRAIT]   0.030864   0.056196   0.549    0.583    
Age                  0.001691   0.006301   0.268    0.789    
Gendermale           0.098331   0.118579   0.829    0.408    
ORdate_year         -0.315105   0.059084  -5.333 1.78e-07 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 1.005 on 336 degrees of freedom
Multiple R-squared:  0.0827,    Adjusted R-squared:  0.07178 
F-statistic: 7.573 on 4 and 336 DF,  p-value: 7.5e-06

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' IL2_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank 
Trait/outcome.............: IL2_rank 
Effect size...............: 0.030864 
Standard error............: 0.056196 
Odds ratio (effect size)..: 1.031 
Lower 95% CI..............: 0.924 
Upper 95% CI..............: 1.151 
T-value...................: 0.549219 
P-value...................: 0.5832202 
R^2.......................: 0.082698 
Adjusted r^2..............: 0.071778 
Sample size of AE DB......: 2423 
Sample size of model......: 341 
Missing data %............: 85.92654 

- processing IL4_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ ORdate_year, data = currentDF)

Coefficients:
(Intercept)  ORdate_year  
   639.9380      -0.3195  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.0641 -0.6896 -0.1302  0.4983  3.1035 

Coefficients:
                     Estimate Std. Error t value Pr(>|t|)    
(Intercept)        653.999286 127.821331   5.117 5.46e-07 ***
currentDF[, TRAIT]  -0.015511   0.058251  -0.266    0.790    
Age                  0.003407   0.006474   0.526    0.599    
Gendermale           0.085706   0.124236   0.690    0.491    
ORdate_year         -0.326651   0.063815  -5.119 5.40e-07 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.994 on 311 degrees of freedom
Multiple R-squared:  0.07901,   Adjusted R-squared:  0.06717 
F-statistic:  6.67 on 4 and 311 DF,  p-value: 3.671e-05

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' IL4_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank 
Trait/outcome.............: IL4_rank 
Effect size...............: -0.015511 
Standard error............: 0.058251 
Odds ratio (effect size)..: 0.985 
Lower 95% CI..............: 0.878 
Upper 95% CI..............: 1.104 
T-value...................: -0.266271 
P-value...................: 0.7902067 
R^2.......................: 0.079014 
Adjusted r^2..............: 0.067168 
Sample size of AE DB......: 2423 
Sample size of model......: 316 
Missing data %............: 86.95832 

- processing IL5_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ ORdate_year, data = currentDF)

Coefficients:
(Intercept)  ORdate_year  
     660.98        -0.33  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.0554 -0.6780 -0.1180  0.5123  3.1079 

Coefficients:
                     Estimate Std. Error t value Pr(>|t|)    
(Intercept)        672.363617 118.866914   5.656 3.33e-08 ***
currentDF[, TRAIT]   0.003866   0.054281   0.071    0.943    
Age                  0.003561   0.006106   0.583    0.560    
Gendermale           0.124969   0.115465   1.082    0.280    
ORdate_year         -0.335830   0.059353  -5.658 3.30e-08 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9734 on 333 degrees of freedom
Multiple R-squared:  0.09161,   Adjusted R-squared:  0.0807 
F-statistic: 8.396 on 4 and 333 DF,  p-value: 1.833e-06

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' IL5_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank 
Trait/outcome.............: IL5_rank 
Effect size...............: 0.003866 
Standard error............: 0.054281 
Odds ratio (effect size)..: 1.004 
Lower 95% CI..............: 0.903 
Upper 95% CI..............: 1.117 
T-value...................: 0.071219 
P-value...................: 0.9432663 
R^2.......................: 0.091613 
Adjusted r^2..............: 0.080701 
Sample size of AE DB......: 2423 
Sample size of model......: 338 
Missing data %............: 86.05035 

- processing IL6_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ ORdate_year, data = currentDF)

Coefficients:
(Intercept)  ORdate_year  
   832.4097      -0.4156  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-2.9014 -0.7013 -0.1488  0.4951  3.4197 

Coefficients:
                     Estimate Std. Error t value Pr(>|t|)    
(Intercept)        855.657335 114.883637   7.448 7.58e-13 ***
currentDF[, TRAIT]   0.073848   0.054959   1.344    0.180    
Age                  0.002869   0.006364   0.451    0.652    
Gendermale           0.168691   0.118582   1.423    0.156    
ORdate_year         -0.427333   0.057368  -7.449 7.53e-13 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 1.019 on 347 degrees of freedom
Multiple R-squared:  0.1421,    Adjusted R-squared:  0.1322 
F-statistic: 14.36 on 4 and 347 DF,  p-value: 7.314e-11

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' IL6_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank 
Trait/outcome.............: IL6_rank 
Effect size...............: 0.073848 
Standard error............: 0.054959 
Odds ratio (effect size)..: 1.077 
Lower 95% CI..............: 0.967 
Upper 95% CI..............: 1.199 
T-value...................: 1.343696 
P-value...................: 0.1799247 
R^2.......................: 0.142056 
Adjusted r^2..............: 0.132166 
Sample size of AE DB......: 2423 
Sample size of model......: 352 
Missing data %............: 85.47255 

- processing IL8_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + ORdate_year, 
    data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]         ORdate_year  
          949.0167              0.2155             -0.4738  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.2020 -0.6699 -0.1392  0.5774  3.2808 

Coefficients:
                     Estimate Std. Error t value Pr(>|t|)    
(Intercept)        944.761974 110.090988   8.582 3.48e-16 ***
currentDF[, TRAIT]   0.208541   0.055451   3.761   0.0002 ***
Age                 -0.003572   0.006226  -0.574   0.5665    
Gendermale           0.161230   0.117705   1.370   0.1717    
ORdate_year         -0.471587   0.054970  -8.579 3.55e-16 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9893 on 337 degrees of freedom
Multiple R-squared:  0.1945,    Adjusted R-squared:  0.185 
F-statistic: 20.35 on 4 and 337 DF,  p-value: 5.004e-15

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' IL8_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank 
Trait/outcome.............: IL8_rank 
Effect size...............: 0.208541 
Standard error............: 0.055451 
Odds ratio (effect size)..: 1.232 
Lower 95% CI..............: 1.105 
Upper 95% CI..............: 1.373 
T-value...................: 3.760836 
P-value...................: 0.0001996198 
R^2.......................: 0.194514 
Adjusted r^2..............: 0.184954 
Sample size of AE DB......: 2423 
Sample size of model......: 342 
Missing data %............: 85.88527 

- processing IL9_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + ORdate_year, 
    data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]         ORdate_year  
          622.4718              0.1003             -0.3108  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.1249 -0.7621 -0.1436  0.5782  3.3210 

Coefficients:
                     Estimate Std. Error t value Pr(>|t|)    
(Intercept)        618.950798  99.655729   6.211 1.40e-09 ***
currentDF[, TRAIT]   0.095343   0.056259   1.695    0.091 .  
Age                 -0.004259   0.006375  -0.668    0.504    
Gendermale           0.143711   0.118221   1.216    0.225    
ORdate_year         -0.308926   0.049752  -6.209 1.41e-09 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 1.066 on 376 degrees of freedom
Multiple R-squared:  0.109, Adjusted R-squared:  0.09948 
F-statistic: 11.49 on 4 and 376 DF,  p-value: 8.188e-09

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' IL9_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank 
Trait/outcome.............: IL9_rank 
Effect size...............: 0.095343 
Standard error............: 0.056259 
Odds ratio (effect size)..: 1.1 
Lower 95% CI..............: 0.985 
Upper 95% CI..............: 1.228 
T-value...................: 1.694721 
P-value...................: 0.09095642 
R^2.......................: 0.108956 
Adjusted r^2..............: 0.099476 
Sample size of AE DB......: 2423 
Sample size of model......: 381 
Missing data %............: 84.27569 

- processing IL10_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ ORdate_year, data = currentDF)

Coefficients:
(Intercept)  ORdate_year  
   628.6785      -0.3139  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-2.9975 -0.6684 -0.1695  0.5181  3.1334 

Coefficients:
                     Estimate Std. Error t value Pr(>|t|)    
(Intercept)        624.142613 137.686327   4.533 8.45e-06 ***
currentDF[, TRAIT]   0.035466   0.061894   0.573    0.567    
Age                  0.001748   0.006658   0.263    0.793    
Gendermale           0.153541   0.127939   1.200    0.231    
ORdate_year         -0.311724   0.068736  -4.535 8.37e-06 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 1.008 on 296 degrees of freedom
Multiple R-squared:  0.07313,   Adjusted R-squared:  0.06061 
F-statistic: 5.839 on 4 and 296 DF,  p-value: 0.0001554

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' IL10_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank 
Trait/outcome.............: IL10_rank 
Effect size...............: 0.035466 
Standard error............: 0.061894 
Odds ratio (effect size)..: 1.036 
Lower 95% CI..............: 0.918 
Upper 95% CI..............: 1.17 
T-value...................: 0.573016 
P-value...................: 0.5670686 
R^2.......................: 0.073133 
Adjusted r^2..............: 0.060608 
Sample size of AE DB......: 2423 
Sample size of model......: 301 
Missing data %............: 87.57738 

- processing IL12_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ ORdate_year, data = currentDF)

Coefficients:
(Intercept)  ORdate_year  
   673.4536      -0.3362  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-2.9779 -0.6496 -0.1571  0.5102  3.1482 

Coefficients:
                     Estimate Std. Error t value Pr(>|t|)    
(Intercept)        682.764977 128.777123   5.302 2.18e-07 ***
currentDF[, TRAIT]   0.026959   0.058149   0.464    0.643    
Age                  0.004435   0.006476   0.685    0.494    
Gendermale           0.146685   0.122133   1.201    0.231    
ORdate_year         -0.341081   0.064294  -5.305 2.14e-07 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9901 on 311 degrees of freedom
Multiple R-squared:  0.0897,    Adjusted R-squared:  0.078 
F-statistic: 7.662 on 4 and 311 DF,  p-value: 6.721e-06

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' IL12_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank 
Trait/outcome.............: IL12_rank 
Effect size...............: 0.026959 
Standard error............: 0.058149 
Odds ratio (effect size)..: 1.027 
Lower 95% CI..............: 0.917 
Upper 95% CI..............: 1.151 
T-value...................: 0.463623 
P-value...................: 0.643242 
R^2.......................: 0.089705 
Adjusted r^2..............: 0.077997 
Sample size of AE DB......: 2423 
Sample size of model......: 316 
Missing data %............: 86.95832 

- processing IL13_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + ORdate_year, 
    data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]         ORdate_year  
          641.7830              0.1242             -0.3204  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.1224 -0.7231 -0.1614  0.5304  3.3659 

Coefficients:
                     Estimate Std. Error t value Pr(>|t|)    
(Intercept)        639.064762  93.544453   6.832 2.89e-11 ***
currentDF[, TRAIT]   0.118799   0.051153   2.322   0.0207 *  
Age                 -0.002429   0.005752  -0.422   0.6730    
Gendermale           0.111908   0.106936   1.046   0.2959    
ORdate_year         -0.319018   0.046705  -6.830 2.91e-11 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 1.029 on 429 degrees of freedom
Multiple R-squared:  0.1108,    Adjusted R-squared:  0.1025 
F-statistic: 13.36 on 4 and 429 DF,  p-value: 2.878e-10

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' IL13_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank 
Trait/outcome.............: IL13_rank 
Effect size...............: 0.118799 
Standard error............: 0.051153 
Odds ratio (effect size)..: 1.126 
Lower 95% CI..............: 1.019 
Upper 95% CI..............: 1.245 
T-value...................: 2.322417 
P-value...................: 0.02067766 
R^2.......................: 0.110751 
Adjusted r^2..............: 0.10246 
Sample size of AE DB......: 2423 
Sample size of model......: 434 
Missing data %............: 82.08832 

- processing IL21_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + ORdate_year, 
    data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]         ORdate_year  
          632.8733              0.1083             -0.3160  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.1020 -0.7221 -0.1408  0.5203  3.3087 

Coefficients:
                     Estimate Std. Error t value Pr(>|t|)    
(Intercept)        630.012001  93.343657   6.749 4.82e-11 ***
currentDF[, TRAIT]   0.101265   0.051574   1.963   0.0502 .  
Age                 -0.002869   0.005727  -0.501   0.6167    
Gendermale           0.109992   0.106895   1.029   0.3041    
ORdate_year         -0.314484   0.046603  -6.748 4.86e-11 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 1.03 on 430 degrees of freedom
Multiple R-squared:  0.1075,    Adjusted R-squared:  0.09922 
F-statistic: 12.95 on 4 and 430 DF,  p-value: 5.76e-10

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' IL21_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank 
Trait/outcome.............: IL21_rank 
Effect size...............: 0.101265 
Standard error............: 0.051574 
Odds ratio (effect size)..: 1.107 
Lower 95% CI..............: 1 
Upper 95% CI..............: 1.224 
T-value...................: 1.963494 
P-value...................: 0.05023277 
R^2.......................: 0.107526 
Adjusted r^2..............: 0.099224 
Sample size of AE DB......: 2423 
Sample size of model......: 435 
Missing data %............: 82.04705 

- processing INFG_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ Gender + ORdate_year, data = currentDF)

Coefficients:
(Intercept)   Gendermale  ORdate_year  
   794.8567       0.1780      -0.3969  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-2.9747 -0.6589 -0.1232  0.4988  3.1220 

Coefficients:
                     Estimate Std. Error t value Pr(>|t|)    
(Intercept)         7.727e+02  1.236e+02   6.250 1.26e-09 ***
currentDF[, TRAIT]  3.325e-02  6.215e-02   0.535    0.593    
Age                 8.204e-05  6.345e-03   0.013    0.990    
Gendermale          1.864e-01  1.207e-01   1.544    0.124    
ORdate_year        -3.858e-01  6.172e-02  -6.251 1.26e-09 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 1.005 on 331 degrees of freedom
Multiple R-squared:  0.1277,    Adjusted R-squared:  0.1171 
F-statistic: 12.11 on 4 and 331 DF,  p-value: 3.371e-09

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' INFG_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank 
Trait/outcome.............: INFG_rank 
Effect size...............: 0.033255 
Standard error............: 0.062145 
Odds ratio (effect size)..: 1.034 
Lower 95% CI..............: 0.915 
Upper 95% CI..............: 1.168 
T-value...................: 0.535116 
P-value...................: 0.5929293 
R^2.......................: 0.127668 
Adjusted r^2..............: 0.117126 
Sample size of AE DB......: 2423 
Sample size of model......: 336 
Missing data %............: 86.13289 

- processing TNFA_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ ORdate_year, data = currentDF)

Coefficients:
(Intercept)  ORdate_year  
   777.2631      -0.3881  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-2.9387 -0.6420 -0.1116  0.5372  3.1125 

Coefficients:
                     Estimate Std. Error t value Pr(>|t|)    
(Intercept)        775.262571 126.839035   6.112 3.04e-09 ***
currentDF[, TRAIT]   0.038041   0.057218   0.665    0.507    
Age                  0.002251   0.006396   0.352    0.725    
Gendermale           0.126709   0.120142   1.055    0.292    
ORdate_year         -0.387170   0.063334  -6.113 3.02e-09 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9663 on 301 degrees of freedom
Multiple R-squared:  0.1175,    Adjusted R-squared:  0.1057 
F-statistic: 10.01 on 4 and 301 DF,  p-value: 1.273e-07

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' TNFA_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank 
Trait/outcome.............: TNFA_rank 
Effect size...............: 0.038041 
Standard error............: 0.057218 
Odds ratio (effect size)..: 1.039 
Lower 95% CI..............: 0.929 
Upper 95% CI..............: 1.162 
T-value...................: 0.66484 
P-value...................: 0.5066621 
R^2.......................: 0.117453 
Adjusted r^2..............: 0.105725 
Sample size of AE DB......: 2423 
Sample size of model......: 306 
Missing data %............: 87.37103 

- processing MIF_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ ORdate_year, data = currentDF)

Coefficients:
(Intercept)  ORdate_year  
    628.851       -0.314  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.0279 -0.7193 -0.1231  0.5656  3.1094 

Coefficients:
                     Estimate Std. Error t value Pr(>|t|)    
(Intercept)        587.953240 102.267860   5.749 1.70e-08 ***
currentDF[, TRAIT]   0.048322   0.054891   0.880    0.379    
Age                 -0.003868   0.005720  -0.676    0.499    
Gendermale           0.123082   0.107015   1.150    0.251    
ORdate_year         -0.293467   0.051048  -5.749 1.71e-08 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 1.033 on 430 degrees of freedom
Multiple R-squared:  0.1011,    Adjusted R-squared:  0.09278 
F-statistic:  12.1 on 4 and 430 DF,  p-value: 2.513e-09

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' MIF_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank 
Trait/outcome.............: MIF_rank 
Effect size...............: 0.048322 
Standard error............: 0.054891 
Odds ratio (effect size)..: 1.05 
Lower 95% CI..............: 0.942 
Upper 95% CI..............: 1.169 
T-value...................: 0.880332 
P-value...................: 0.3791712 
R^2.......................: 0.101144 
Adjusted r^2..............: 0.092783 
Sample size of AE DB......: 2423 
Sample size of model......: 435 
Missing data %............: 82.04705 

- processing MCP1_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + ORdate_year, 
    data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]         ORdate_year  
          537.4404              0.2174             -0.2683  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.2747 -0.7026 -0.1083  0.6341  2.9812 

Coefficients:
                     Estimate Std. Error t value Pr(>|t|)    
(Intercept)        535.983520  94.005569   5.702 2.22e-08 ***
currentDF[, TRAIT]   0.211573   0.049722   4.255 2.57e-05 ***
Age                 -0.002903   0.005668  -0.512    0.609    
Gendermale           0.093487   0.105953   0.882    0.378    
ORdate_year         -0.267556   0.046932  -5.701 2.23e-08 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 1.013 on 426 degrees of freedom
Multiple R-squared:  0.1352,    Adjusted R-squared:  0.1271 
F-statistic: 16.65 on 4 and 426 DF,  p-value: 1.081e-12

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' MCP1_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank 
Trait/outcome.............: MCP1_rank 
Effect size...............: 0.211573 
Standard error............: 0.049722 
Odds ratio (effect size)..: 1.236 
Lower 95% CI..............: 1.121 
Upper 95% CI..............: 1.362 
T-value...................: 4.255132 
P-value...................: 2.571069e-05 
R^2.......................: 0.135234 
Adjusted r^2..............: 0.127114 
Sample size of AE DB......: 2423 
Sample size of model......: 431 
Missing data %............: 82.21213 

- processing MIP1a_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + ORdate_year, 
    data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]         ORdate_year  
          623.5912              0.1255             -0.3113  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.1261 -0.7329 -0.1623  0.5681  3.2913 

Coefficients:
                     Estimate Std. Error t value Pr(>|t|)    
(Intercept)        616.442600  97.731775   6.307 7.72e-10 ***
currentDF[, TRAIT]   0.117124   0.054539   2.148   0.0324 *  
Age                 -0.005208   0.006201  -0.840   0.4015    
Gendermale           0.124610   0.115692   1.077   0.2821    
ORdate_year         -0.307642   0.048795  -6.305 7.84e-10 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 1.056 on 389 degrees of freedom
Multiple R-squared:  0.1107,    Adjusted R-squared:  0.1016 
F-statistic: 12.11 on 4 and 389 DF,  p-value: 2.76e-09

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' MIP1a_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank 
Trait/outcome.............: MIP1a_rank 
Effect size...............: 0.117124 
Standard error............: 0.054539 
Odds ratio (effect size)..: 1.124 
Lower 95% CI..............: 1.01 
Upper 95% CI..............: 1.251 
T-value...................: 2.147531 
P-value...................: 0.0323683 
R^2.......................: 0.11072 
Adjusted r^2..............: 0.101575 
Sample size of AE DB......: 2423 
Sample size of model......: 394 
Missing data %............: 83.73917 

- processing RANTES_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ ORdate_year, data = currentDF)

Coefficients:
(Intercept)  ORdate_year  
    622.934       -0.311  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.0175 -0.7403 -0.1353  0.5424  3.1722 

Coefficients:
                     Estimate Std. Error t value Pr(>|t|)    
(Intercept)        585.819538 101.347154   5.780 1.45e-08 ***
currentDF[, TRAIT]   0.047304   0.054322   0.871    0.384    
Age                 -0.003576   0.005797  -0.617    0.538    
Gendermale           0.121548   0.108906   1.116    0.265    
ORdate_year         -0.292411   0.050589  -5.780 1.45e-08 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 1.038 on 422 degrees of freedom
Multiple R-squared:  0.09946,   Adjusted R-squared:  0.09092 
F-statistic: 11.65 on 4 and 422 DF,  p-value: 5.524e-09

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' RANTES_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank 
Trait/outcome.............: RANTES_rank 
Effect size...............: 0.047304 
Standard error............: 0.054322 
Odds ratio (effect size)..: 1.048 
Lower 95% CI..............: 0.943 
Upper 95% CI..............: 1.166 
T-value...................: 0.870798 
P-value...................: 0.3843593 
R^2.......................: 0.09946 
Adjusted r^2..............: 0.090925 
Sample size of AE DB......: 2423 
Sample size of model......: 427 
Missing data %............: 82.37722 

- processing MIG_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + ORdate_year, 
    data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]         ORdate_year  
         664.19715             0.08683            -0.33160  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.1225 -0.7536 -0.1288  0.5755  3.2629 

Coefficients:
                     Estimate Std. Error t value Pr(>|t|)    
(Intercept)        655.579591  98.342266   6.666 8.29e-11 ***
currentDF[, TRAIT]   0.078663   0.053443   1.472    0.142    
Age                 -0.004006   0.005904  -0.679    0.498    
Gendermale           0.107600   0.109013   0.987    0.324    
ORdate_year         -0.327201   0.049105  -6.663 8.45e-11 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 1.039 on 419 degrees of freedom
Multiple R-squared:  0.1029,    Adjusted R-squared:  0.0943 
F-statistic: 12.01 on 4 and 419 DF,  p-value: 2.998e-09

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' MIG_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank 
Trait/outcome.............: MIG_rank 
Effect size...............: 0.078663 
Standard error............: 0.053443 
Odds ratio (effect size)..: 1.082 
Lower 95% CI..............: 0.974 
Upper 95% CI..............: 1.201 
T-value...................: 1.471907 
P-value...................: 0.1417966 
R^2.......................: 0.102865 
Adjusted r^2..............: 0.094301 
Sample size of AE DB......: 2423 
Sample size of model......: 424 
Missing data %............: 82.50103 

- processing IP10_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + ORdate_year, 
    data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]         ORdate_year  
          627.7756              0.1526             -0.3134  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.0450 -0.7399 -0.1309  0.6182  2.9704 

Coefficients:
                     Estimate Std. Error t value Pr(>|t|)    
(Intercept)        625.783846  96.965266   6.454 3.30e-10 ***
currentDF[, TRAIT]   0.152242   0.052890   2.878  0.00422 ** 
Age                 -0.001851   0.006134  -0.302  0.76305    
Gendermale           0.119062   0.112457   1.059  0.29039    
ORdate_year         -0.312420   0.048410  -6.454 3.31e-10 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 1.031 on 383 degrees of freedom
Multiple R-squared:  0.1238,    Adjusted R-squared:  0.1146 
F-statistic: 13.53 on 4 and 383 DF,  p-value: 2.526e-10

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' IP10_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank 
Trait/outcome.............: IP10_rank 
Effect size...............: 0.152242 
Standard error............: 0.05289 
Odds ratio (effect size)..: 1.164 
Lower 95% CI..............: 1.05 
Upper 95% CI..............: 1.292 
T-value...................: 2.878459 
P-value...................: 0.004220329 
R^2.......................: 0.123788 
Adjusted r^2..............: 0.114637 
Sample size of AE DB......: 2423 
Sample size of model......: 388 
Missing data %............: 83.98679 

- processing Eotaxin1_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ ORdate_year, data = currentDF)

Coefficients:
(Intercept)  ORdate_year  
    628.851       -0.314  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.1188 -0.7504 -0.1295  0.5514  3.2214 

Coefficients:
                     Estimate Std. Error t value Pr(>|t|)    
(Intercept)        635.173484  94.047905   6.754 4.69e-11 ***
currentDF[, TRAIT]   0.060590   0.052271   1.159    0.247    
Age                 -0.003640   0.005724  -0.636    0.525    
Gendermale           0.112562   0.107536   1.047    0.296    
ORdate_year         -0.317035   0.046956  -6.752 4.75e-11 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 1.033 on 430 degrees of freedom
Multiple R-squared:  0.1023,    Adjusted R-squared:  0.09398 
F-statistic: 12.25 on 4 and 430 DF,  p-value: 1.914e-09

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' Eotaxin1_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank 
Trait/outcome.............: Eotaxin1_rank 
Effect size...............: 0.06059 
Standard error............: 0.052271 
Odds ratio (effect size)..: 1.062 
Lower 95% CI..............: 0.959 
Upper 95% CI..............: 1.177 
T-value...................: 1.159153 
P-value...................: 0.2470371 
R^2.......................: 0.102329 
Adjusted r^2..............: 0.093979 
Sample size of AE DB......: 2423 
Sample size of model......: 435 
Missing data %............: 82.04705 

- processing TARC_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + ORdate_year, 
    data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]         ORdate_year  
          535.7557              0.1423             -0.2675  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.0961 -0.7224 -0.1691  0.5283  3.3279 

Coefficients:
                     Estimate Std. Error t value Pr(>|t|)    
(Intercept)        528.977983 114.965681   4.601 5.79e-06 ***
currentDF[, TRAIT]   0.137027   0.057409   2.387   0.0175 *  
Age                 -0.005319   0.006054  -0.879   0.3802    
Gendermale           0.097879   0.114654   0.854   0.3938    
ORdate_year         -0.263986   0.057388  -4.600 5.82e-06 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 1.029 on 368 degrees of freedom
Multiple R-squared:  0.09194,   Adjusted R-squared:  0.08207 
F-statistic: 9.314 on 4 and 368 DF,  p-value: 3.522e-07

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' TARC_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank 
Trait/outcome.............: TARC_rank 
Effect size...............: 0.137027 
Standard error............: 0.057409 
Odds ratio (effect size)..: 1.147 
Lower 95% CI..............: 1.025 
Upper 95% CI..............: 1.283 
T-value...................: 2.38685 
P-value...................: 0.01749786 
R^2.......................: 0.091935 
Adjusted r^2..............: 0.082065 
Sample size of AE DB......: 2423 
Sample size of model......: 373 
Missing data %............: 84.60586 

- processing PARC_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + ORdate_year, 
    data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]         ORdate_year  
          564.3797              0.1192             -0.2818  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.0187 -0.7131 -0.1376  0.5744  3.0323 

Coefficients:
                     Estimate Std. Error t value Pr(>|t|)    
(Intercept)        560.191676  97.355447   5.754 1.66e-08 ***
currentDF[, TRAIT]   0.119650   0.052873   2.263   0.0241 *  
Age                 -0.003899   0.005677  -0.687   0.4926    
Gendermale           0.131785   0.106446   1.238   0.2164    
ORdate_year         -0.279617   0.048602  -5.753 1.66e-08 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 1.028 on 430 degrees of freedom
Multiple R-squared:  0.1101,    Adjusted R-squared:  0.1018 
F-statistic:  13.3 on 4 and 430 DF,  p-value: 3.15e-10

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' PARC_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank 
Trait/outcome.............: PARC_rank 
Effect size...............: 0.11965 
Standard error............: 0.052873 
Odds ratio (effect size)..: 1.127 
Lower 95% CI..............: 1.016 
Upper 95% CI..............: 1.25 
T-value...................: 2.262997 
P-value...................: 0.02413382 
R^2.......................: 0.110122 
Adjusted r^2..............: 0.101844 
Sample size of AE DB......: 2423 
Sample size of model......: 435 
Missing data %............: 82.04705 

- processing MDC_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ ORdate_year, data = currentDF)

Coefficients:
(Intercept)  ORdate_year  
   638.0325      -0.3185  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.0834 -0.7664 -0.1505  0.5932  3.1850 

Coefficients:
                     Estimate Std. Error t value Pr(>|t|)    
(Intercept)        598.207223 104.616821   5.718 2.16e-08 ***
currentDF[, TRAIT]   0.049298   0.057782   0.853    0.394    
Age                 -0.006564   0.006186  -1.061    0.289    
Gendermale           0.142062   0.115942   1.225    0.221    
ORdate_year         -0.298498   0.052223  -5.716 2.19e-08 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 1.061 on 386 degrees of freedom
Multiple R-squared:  0.1064,    Adjusted R-squared:  0.09718 
F-statistic:  11.5 on 4 and 386 DF,  p-value: 7.941e-09

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' MDC_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank 
Trait/outcome.............: MDC_rank 
Effect size...............: 0.049298 
Standard error............: 0.057782 
Odds ratio (effect size)..: 1.051 
Lower 95% CI..............: 0.938 
Upper 95% CI..............: 1.177 
T-value...................: 0.853173 
P-value...................: 0.3940926 
R^2.......................: 0.106443 
Adjusted r^2..............: 0.097183 
Sample size of AE DB......: 2423 
Sample size of model......: 391 
Missing data %............: 83.86298 

- processing OPG_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + ORdate_year, 
    data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]         ORdate_year  
          636.3065              0.1776             -0.3177  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-2.8793 -0.7371 -0.1404  0.5705  3.2967 

Coefficients:
                     Estimate Std. Error t value Pr(>|t|)    
(Intercept)        633.155178  92.631288   6.835 2.82e-11 ***
currentDF[, TRAIT]   0.172493   0.049001   3.520 0.000477 ***
Age                 -0.002665   0.005674  -0.470 0.638852    
Gendermale           0.094668   0.106287   0.891 0.373600    
ORdate_year         -0.316055   0.046248  -6.834 2.85e-11 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 1.021 on 429 degrees of freedom
Multiple R-squared:  0.1249,    Adjusted R-squared:  0.1167 
F-statistic:  15.3 on 4 and 429 DF,  p-value: 1.048e-11

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' OPG_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank 
Trait/outcome.............: OPG_rank 
Effect size...............: 0.172493 
Standard error............: 0.049001 
Odds ratio (effect size)..: 1.188 
Lower 95% CI..............: 1.079 
Upper 95% CI..............: 1.308 
T-value...................: 3.520189 
P-value...................: 0.0004773981 
R^2.......................: 0.12485 
Adjusted r^2..............: 0.11669 
Sample size of AE DB......: 2423 
Sample size of model......: 434 
Missing data %............: 82.08832 

- processing sICAM1_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + ORdate_year, 
    data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]         ORdate_year  
         589.99923             0.08682            -0.29458  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.0531 -0.7372 -0.1295  0.5837  3.1438 

Coefficients:
                     Estimate Std. Error t value Pr(>|t|)    
(Intercept)        588.749722  95.792010   6.146 1.81e-09 ***
currentDF[, TRAIT]   0.084207   0.050457   1.669   0.0959 .  
Age                 -0.002997   0.005740  -0.522   0.6018    
Gendermale           0.128363   0.106712   1.203   0.2297    
ORdate_year         -0.293896   0.047818  -6.146 1.81e-09 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 1.031 on 430 degrees of freedom
Multiple R-squared:  0.1053,    Adjusted R-squared:  0.097 
F-statistic: 12.65 on 4 and 430 DF,  p-value: 9.602e-10

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' sICAM1_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank 
Trait/outcome.............: sICAM1_rank 
Effect size...............: 0.084207 
Standard error............: 0.050457 
Odds ratio (effect size)..: 1.088 
Lower 95% CI..............: 0.985 
Upper 95% CI..............: 1.201 
T-value...................: 1.668876 
P-value...................: 0.09586989 
R^2.......................: 0.105319 
Adjusted r^2..............: 0.096996 
Sample size of AE DB......: 2423 
Sample size of model......: 435 
Missing data %............: 82.04705 

- processing VEGFA_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year, data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]          Gendermale         ORdate_year  
          813.9742              0.1392              0.1678             -0.4064  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-2.9349 -0.7199 -0.1693  0.4938  3.3124 

Coefficients:
                     Estimate Std. Error t value Pr(>|t|)    
(Intercept)        809.904614 108.258059   7.481 5.60e-13 ***
currentDF[, TRAIT]   0.139589   0.054500   2.561   0.0108 *  
Age                 -0.001632   0.005929  -0.275   0.7833    
Gendermale           0.167548   0.113249   1.479   0.1399    
ORdate_year         -0.404337   0.054051  -7.481 5.62e-13 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9887 on 363 degrees of freedom
Multiple R-squared:  0.1415,    Adjusted R-squared:  0.132 
F-statistic: 14.96 on 4 and 363 DF,  p-value: 2.519e-11

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' VEGFA_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank 
Trait/outcome.............: VEGFA_rank 
Effect size...............: 0.139589 
Standard error............: 0.0545 
Odds ratio (effect size)..: 1.15 
Lower 95% CI..............: 1.033 
Upper 95% CI..............: 1.279 
T-value...................: 2.561258 
P-value...................: 0.01083282 
R^2.......................: 0.141488 
Adjusted r^2..............: 0.132027 
Sample size of AE DB......: 2423 
Sample size of model......: 368 
Missing data %............: 84.81222 

- processing TGFB_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ ORdate_year, data = currentDF)

Coefficients:
(Intercept)  ORdate_year  
   635.1303      -0.3171  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.0022 -0.7461 -0.1141  0.5582  3.1030 

Coefficients:
                     Estimate Std. Error t value Pr(>|t|)    
(Intercept)        604.033399  97.638090   6.186 1.46e-09 ***
currentDF[, TRAIT]   0.065295   0.052041   1.255    0.210    
Age                 -0.003709   0.005813  -0.638    0.524    
Gendermale           0.135163   0.110129   1.227    0.220    
ORdate_year         -0.301494   0.048747  -6.185 1.48e-09 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 1.045 on 420 degrees of freedom
Multiple R-squared:  0.1033,    Adjusted R-squared:  0.09472 
F-statistic: 12.09 on 4 and 420 DF,  p-value: 2.605e-09

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' TGFB_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank 
Trait/outcome.............: TGFB_rank 
Effect size...............: 0.065295 
Standard error............: 0.052041 
Odds ratio (effect size)..: 1.067 
Lower 95% CI..............: 0.964 
Upper 95% CI..............: 1.182 
T-value...................: 1.254703 
P-value...................: 0.2102845 
R^2.......................: 0.10326 
Adjusted r^2..............: 0.094719 
Sample size of AE DB......: 2423 
Sample size of model......: 425 
Missing data %............: 82.45976 

- processing MMP2_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year, data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]          Gendermale         ORdate_year  
          753.7948              0.1213              0.2037             -0.3764  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.1517 -0.6964 -0.1709  0.5491  3.2672 

Coefficients:
                     Estimate Std. Error t value Pr(>|t|)    
(Intercept)        749.228529  98.935070   7.573  2.3e-13 ***
currentDF[, TRAIT]   0.118695   0.051879   2.288   0.0226 *  
Age                 -0.003268   0.005687  -0.575   0.5659    
Gendermale           0.203428   0.107494   1.892   0.0591 .  
ORdate_year         -0.374018   0.049390  -7.573  2.3e-13 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 1.025 on 425 degrees of freedom
Multiple R-squared:  0.144, Adjusted R-squared:  0.1359 
F-statistic: 17.87 on 4 and 425 DF,  p-value: 1.431e-13

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' MMP2_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank 
Trait/outcome.............: MMP2_rank 
Effect size...............: 0.118695 
Standard error............: 0.051879 
Odds ratio (effect size)..: 1.126 
Lower 95% CI..............: 1.017 
Upper 95% CI..............: 1.247 
T-value...................: 2.28791 
P-value...................: 0.02263308 
R^2.......................: 0.14395 
Adjusted r^2..............: 0.135894 
Sample size of AE DB......: 2423 
Sample size of model......: 430 
Missing data %............: 82.25341 

- processing MMP8_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + ORdate_year, 
    data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]         ORdate_year  
          777.5342              0.1525             -0.3882  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.1931 -0.7112 -0.1256  0.5908  3.3015 

Coefficients:
                     Estimate Std. Error t value Pr(>|t|)    
(Intercept)        773.198526  98.090158   7.883 2.72e-14 ***
currentDF[, TRAIT]   0.142473   0.051343   2.775  0.00576 ** 
Age                 -0.004326   0.005649  -0.766  0.44426    
Gendermale           0.125413   0.107976   1.161  0.24609    
ORdate_year         -0.385917   0.048971  -7.881 2.76e-14 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 1.022 on 425 degrees of freedom
Multiple R-squared:  0.1488,    Adjusted R-squared:  0.1408 
F-statistic: 18.58 on 4 and 425 DF,  p-value: 4.387e-14

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' MMP8_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank 
Trait/outcome.............: MMP8_rank 
Effect size...............: 0.142473 
Standard error............: 0.051343 
Odds ratio (effect size)..: 1.153 
Lower 95% CI..............: 1.043 
Upper 95% CI..............: 1.275 
T-value...................: 2.77494 
P-value...................: 0.005764755 
R^2.......................: 0.148829 
Adjusted r^2..............: 0.140818 
Sample size of AE DB......: 2423 
Sample size of model......: 430 
Missing data %............: 82.25341 

- processing MMP9_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year, data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]          Gendermale         ORdate_year  
          758.2047              0.0915              0.1571             -0.3786  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.1310 -0.7113 -0.1531  0.5612  3.2432 

Coefficients:
                     Estimate Std. Error t value Pr(>|t|)    
(Intercept)        750.404636  99.357633   7.553 2.64e-13 ***
currentDF[, TRAIT]   0.092850   0.050201   1.850   0.0651 .  
Age                 -0.004751   0.005680  -0.836   0.4034    
Gendermale           0.157370   0.107439   1.465   0.1437    
ORdate_year         -0.374540   0.049604  -7.551 2.67e-13 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 1.027 on 425 degrees of freedom
Multiple R-squared:  0.1403,    Adjusted R-squared:  0.1322 
F-statistic: 17.34 on 4 and 425 DF,  p-value: 3.425e-13

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' MMP9_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank 
Trait/outcome.............: MMP9_rank 
Effect size...............: 0.09285 
Standard error............: 0.050201 
Odds ratio (effect size)..: 1.097 
Lower 95% CI..............: 0.994 
Upper 95% CI..............: 1.211 
T-value...................: 1.849574 
P-value...................: 0.06506902 
R^2.......................: 0.140327 
Adjusted r^2..............: 0.132236 
Sample size of AE DB......: 2423 
Sample size of model......: 430 
Missing data %............: 82.25341 

Analysis of MCP1_pg_ml_2015_rank.

- processing IL2_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year, data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]          Gendermale         ORdate_year  
         439.52974            -0.08325             0.21160            -0.21965  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.0911 -0.5531 -0.0990  0.4573  2.6749 

Coefficients:
                     Estimate Std. Error t value Pr(>|t|)    
(Intercept)        450.388268 105.057037   4.287 2.37e-05 ***
currentDF[, TRAIT]  -0.079670   0.049891  -1.597   0.1112    
Age                  0.006158   0.005594   1.101   0.2718    
Gendermale           0.207882   0.105274   1.975   0.0491 *  
ORdate_year         -0.225272   0.052455  -4.295 2.29e-05 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.8921 on 336 degrees of freedom
Multiple R-squared:  0.06631,   Adjusted R-squared:  0.0552 
F-statistic: 5.966 on 4 and 336 DF,  p-value: 0.0001197

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ml_2015_rank ' with ' IL2_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ml_2015_rank 
Trait/outcome.............: IL2_rank 
Effect size...............: -0.07967 
Standard error............: 0.049891 
Odds ratio (effect size)..: 0.923 
Lower 95% CI..............: 0.837 
Upper 95% CI..............: 1.018 
T-value...................: -1.596881 
P-value...................: 0.1112322 
R^2.......................: 0.066314 
Adjusted r^2..............: 0.055199 
Sample size of AE DB......: 2423 
Sample size of model......: 341 
Missing data %............: 85.92654 

- processing IL4_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year, data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]          Gendermale         ORdate_year  
          540.5738             -0.1171              0.1848             -0.2701  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.0091 -0.5472 -0.1075  0.4856  2.6161 

Coefficients:
                    Estimate Std. Error t value Pr(>|t|)    
(Intercept)        549.80994  111.55762   4.928 1.35e-06 ***
currentDF[, TRAIT]  -0.11149    0.05084  -2.193   0.0291 *  
Age                  0.00713    0.00565   1.262   0.2079    
Gendermale           0.17874    0.10843   1.648   0.1003    
ORdate_year         -0.27492    0.05570  -4.936 1.30e-06 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.8675 on 311 degrees of freedom
Multiple R-squared:  0.09242,   Adjusted R-squared:  0.08074 
F-statistic: 7.917 on 4 and 311 DF,  p-value: 4.345e-06

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ml_2015_rank ' with ' IL4_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ml_2015_rank 
Trait/outcome.............: IL4_rank 
Effect size...............: -0.111487 
Standard error............: 0.050839 
Odds ratio (effect size)..: 0.895 
Lower 95% CI..............: 0.81 
Upper 95% CI..............: 0.988 
T-value...................: -2.192931 
P-value...................: 0.02905265 
R^2.......................: 0.092417 
Adjusted r^2..............: 0.080744 
Sample size of AE DB......: 2423 
Sample size of model......: 316 
Missing data %............: 86.95832 

- processing IL5_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ Gender + ORdate_year, data = currentDF)

Coefficients:
(Intercept)   Gendermale  ORdate_year  
   503.0037       0.2535      -0.2513  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-2.99155 -0.54478 -0.07638  0.50816  2.54186 

Coefficients:
                     Estimate Std. Error t value Pr(>|t|)    
(Intercept)        537.457180 106.206389   5.060 6.93e-07 ***
currentDF[, TRAIT]  -0.058497   0.048500  -1.206   0.2286    
Age                  0.007261   0.005456   1.331   0.1842    
Gendermale           0.238482   0.103166   2.312   0.0214 *  
ORdate_year         -0.268776   0.053031  -5.068 6.67e-07 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.8697 on 333 degrees of freedom
Multiple R-squared:  0.08729,   Adjusted R-squared:  0.07632 
F-statistic: 7.962 on 4 and 333 DF,  p-value: 3.862e-06

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ml_2015_rank ' with ' IL5_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ml_2015_rank 
Trait/outcome.............: IL5_rank 
Effect size...............: -0.058497 
Standard error............: 0.0485 
Odds ratio (effect size)..: 0.943 
Lower 95% CI..............: 0.858 
Upper 95% CI..............: 1.037 
T-value...................: -1.206137 
P-value...................: 0.2286207 
R^2.......................: 0.087288 
Adjusted r^2..............: 0.076324 
Sample size of AE DB......: 2423 
Sample size of model......: 338 
Missing data %............: 86.05035 

- processing IL6_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]                 Age          Gendermale         ORdate_year  
        599.930101            0.073020            0.008033            0.319352           -0.300019  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-2.8218 -0.5577 -0.1269  0.4803  2.9552 

Coefficients:
                     Estimate Std. Error t value Pr(>|t|)    
(Intercept)        599.930101 102.191239   5.871 1.02e-08 ***
currentDF[, TRAIT]   0.073020   0.048887   1.494  0.13617    
Age                  0.008033   0.005661   1.419  0.15682    
Gendermale           0.319352   0.105481   3.028  0.00265 ** 
ORdate_year         -0.300019   0.051030  -5.879 9.69e-09 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9062 on 347 degrees of freedom
Multiple R-squared:  0.1111,    Adjusted R-squared:  0.1008 
F-statistic: 10.84 on 4 and 347 DF,  p-value: 2.717e-08

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ml_2015_rank ' with ' IL6_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ml_2015_rank 
Trait/outcome.............: IL6_rank 
Effect size...............: 0.07302 
Standard error............: 0.048887 
Odds ratio (effect size)..: 1.076 
Lower 95% CI..............: 0.977 
Upper 95% CI..............: 1.184 
T-value...................: 1.493662 
P-value...................: 0.1361728 
R^2.......................: 0.111087 
Adjusted r^2..............: 0.10084 
Sample size of AE DB......: 2423 
Sample size of model......: 352 
Missing data %............: 85.47255 

- processing IL8_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year, data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]          Gendermale         ORdate_year  
          697.4928              0.2632              0.3070             -0.3484  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.1950 -0.5389 -0.0682  0.4695  2.8229 

Coefficients:
                     Estimate Std. Error t value Pr(>|t|)    
(Intercept)        705.900501  95.458877   7.395 1.13e-12 ***
currentDF[, TRAIT]   0.260289   0.048081   5.414 1.18e-07 ***
Age                  0.004083   0.005398   0.756  0.44998    
Gendermale           0.309080   0.102061   3.028  0.00265 ** 
ORdate_year         -0.352754   0.047664  -7.401 1.09e-12 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.8578 on 337 degrees of freedom
Multiple R-squared:  0.1946,    Adjusted R-squared:  0.1851 
F-statistic: 20.36 on 4 and 337 DF,  p-value: 4.877e-15

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ml_2015_rank ' with ' IL8_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ml_2015_rank 
Trait/outcome.............: IL8_rank 
Effect size...............: 0.260289 
Standard error............: 0.048081 
Odds ratio (effect size)..: 1.297 
Lower 95% CI..............: 1.181 
Upper 95% CI..............: 1.426 
T-value...................: 5.413579 
P-value...................: 1.175805e-07 
R^2.......................: 0.194641 
Adjusted r^2..............: 0.185082 
Sample size of AE DB......: 2423 
Sample size of model......: 342 
Missing data %............: 85.88527 

- processing IL9_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year, data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]          Gendermale         ORdate_year  
          392.8674              0.0749              0.3238             -0.1964  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.0238 -0.5958 -0.1203  0.5313  2.9019 

Coefficients:
                     Estimate Std. Error t value Pr(>|t|)    
(Intercept)        396.752588  88.227745   4.497  9.2e-06 ***
currentDF[, TRAIT]   0.077561   0.049808   1.557   0.1203    
Age                  0.002510   0.005644   0.445   0.6568    
Gendermale           0.322682   0.104664   3.083   0.0022 ** 
ORdate_year         -0.198406   0.044047  -4.504  8.9e-06 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.944 on 376 degrees of freedom
Multiple R-squared:  0.07918,   Adjusted R-squared:  0.06939 
F-statistic: 8.083 on 4 and 376 DF,  p-value: 2.921e-06

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ml_2015_rank ' with ' IL9_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ml_2015_rank 
Trait/outcome.............: IL9_rank 
Effect size...............: 0.077561 
Standard error............: 0.049808 
Odds ratio (effect size)..: 1.081 
Lower 95% CI..............: 0.98 
Upper 95% CI..............: 1.191 
T-value...................: 1.557216 
P-value...................: 0.1202604 
R^2.......................: 0.079185 
Adjusted r^2..............: 0.069389 
Sample size of AE DB......: 2423 
Sample size of model......: 381 
Missing data %............: 84.27569 

- processing IL10_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ Gender + ORdate_year, data = currentDF)

Coefficients:
(Intercept)   Gendermale  ORdate_year  
   506.2501       0.2847      -0.2530  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-2.94534 -0.57186 -0.08303  0.49245  2.61786 

Coefficients:
                     Estimate Std. Error t value Pr(>|t|)    
(Intercept)        532.461068 120.554405   4.417 1.41e-05 ***
currentDF[, TRAIT]  -0.050056   0.054193  -0.924   0.3564    
Age                  0.006172   0.005829   1.059   0.2905    
Gendermale           0.263904   0.112020   2.356   0.0191 *  
ORdate_year         -0.266274   0.060183  -4.424 1.36e-05 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.8827 on 296 degrees of freedom
Multiple R-squared:  0.08049,   Adjusted R-squared:  0.06807 
F-statistic: 6.478 on 4 and 296 DF,  p-value: 5.213e-05

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ml_2015_rank ' with ' IL10_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ml_2015_rank 
Trait/outcome.............: IL10_rank 
Effect size...............: -0.050056 
Standard error............: 0.054193 
Odds ratio (effect size)..: 0.951 
Lower 95% CI..............: 0.855 
Upper 95% CI..............: 1.058 
T-value...................: -0.923655 
P-value...................: 0.356418 
R^2.......................: 0.080495 
Adjusted r^2..............: 0.068069 
Sample size of AE DB......: 2423 
Sample size of model......: 301 
Missing data %............: 87.57738 

- processing IL12_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year, data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]          Gendermale         ORdate_year  
         548.41879            -0.08958             0.24946            -0.27403  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-2.96858 -0.54923 -0.09087  0.49552  2.65880 

Coefficients:
                     Estimate Std. Error t value Pr(>|t|)    
(Intercept)        558.567899 112.807135   4.952 1.21e-06 ***
currentDF[, TRAIT]  -0.083006   0.050937  -1.630   0.1042    
Age                  0.007858   0.005673   1.385   0.1670    
Gendermale           0.236909   0.106987   2.214   0.0275 *  
ORdate_year         -0.279354   0.056321  -4.960 1.16e-06 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.8673 on 311 degrees of freedom
Multiple R-squared:  0.09053,   Adjusted R-squared:  0.07883 
F-statistic: 7.739 on 4 and 311 DF,  p-value: 5.887e-06

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ml_2015_rank ' with ' IL12_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ml_2015_rank 
Trait/outcome.............: IL12_rank 
Effect size...............: -0.083006 
Standard error............: 0.050937 
Odds ratio (effect size)..: 0.92 
Lower 95% CI..............: 0.833 
Upper 95% CI..............: 1.017 
T-value...................: -1.629574 
P-value...................: 0.104204 
R^2.......................: 0.090531 
Adjusted r^2..............: 0.078833 
Sample size of AE DB......: 2423 
Sample size of model......: 316 
Missing data %............: 86.95832 

- processing IL13_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year, data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]          Gendermale         ORdate_year  
         408.84038             0.08096             0.26397            -0.20434  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-2.99901 -0.62198 -0.08861  0.53175  2.85876 

Coefficients:
                     Estimate Std. Error t value Pr(>|t|)    
(Intercept)        417.755559  83.585739   4.998 8.46e-07 ***
currentDF[, TRAIT]   0.086418   0.045707   1.891  0.05934 .  
Age                  0.004672   0.005140   0.909  0.36389    
Gendermale           0.260898   0.095552   2.730  0.00659 ** 
ORdate_year         -0.208944   0.041733  -5.007 8.10e-07 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9196 on 429 degrees of freedom
Multiple R-squared:  0.07553,   Adjusted R-squared:  0.06691 
F-statistic: 8.762 on 4 and 429 DF,  p-value: 8.314e-07

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ml_2015_rank ' with ' IL13_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ml_2015_rank 
Trait/outcome.............: IL13_rank 
Effect size...............: 0.086418 
Standard error............: 0.045707 
Odds ratio (effect size)..: 1.09 
Lower 95% CI..............: 0.997 
Upper 95% CI..............: 1.192 
T-value...................: 1.890677 
P-value...................: 0.05934115 
R^2.......................: 0.075528 
Adjusted r^2..............: 0.066908 
Sample size of AE DB......: 2423 
Sample size of model......: 434 
Missing data %............: 82.08832 

- processing IL21_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year, data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]          Gendermale         ORdate_year  
         404.39405             0.06671             0.26022            -0.20212  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-2.98297 -0.61654 -0.06537  0.53462  2.88093 

Coefficients:
                     Estimate Std. Error t value Pr(>|t|)    
(Intercept)        412.360885  83.370793   4.946 1.09e-06 ***
currentDF[, TRAIT]   0.071706   0.046064   1.557  0.12028    
Age                  0.004476   0.005115   0.875  0.38204    
Gendermale           0.257574   0.095475   2.698  0.00725 ** 
ORdate_year         -0.206243   0.041624  -4.955 1.04e-06 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9198 on 430 degrees of freedom
Multiple R-squared:  0.07309,   Adjusted R-squared:  0.06447 
F-statistic: 8.477 on 4 and 430 DF,  p-value: 1.368e-06

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ml_2015_rank ' with ' IL21_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ml_2015_rank 
Trait/outcome.............: IL21_rank 
Effect size...............: 0.071706 
Standard error............: 0.046064 
Odds ratio (effect size)..: 1.074 
Lower 95% CI..............: 0.982 
Upper 95% CI..............: 1.176 
T-value...................: 1.556674 
P-value...................: 0.1202837 
R^2.......................: 0.073091 
Adjusted r^2..............: 0.064469 
Sample size of AE DB......: 2423 
Sample size of model......: 435 
Missing data %............: 82.04705 

- processing INFG_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year, data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]          Gendermale         ORdate_year  
         624.40653            -0.09079             0.29372            -0.31196  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-2.95225 -0.57294 -0.08409  0.49377  2.82516 

Coefficients:
                     Estimate Std. Error t value Pr(>|t|)    
(Intercept)        633.635976 109.178351   5.804 1.52e-08 ***
currentDF[, TRAIT]  -0.086460   0.054878  -1.576  0.11609    
Age                  0.007030   0.005603   1.255  0.21048    
Gendermale           0.291357   0.106617   2.733  0.00662 ** 
ORdate_year         -0.316806   0.054506  -5.812 1.45e-08 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.8871 on 331 degrees of freedom
Multiple R-squared:  0.1125,    Adjusted R-squared:  0.1017 
F-statistic: 10.49 on 4 and 331 DF,  p-value: 5.21e-08

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ml_2015_rank ' with ' INFG_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ml_2015_rank 
Trait/outcome.............: INFG_rank 
Effect size...............: -0.08646 
Standard error............: 0.054878 
Odds ratio (effect size)..: 0.917 
Lower 95% CI..............: 0.824 
Upper 95% CI..............: 1.021 
T-value...................: -1.575507 
P-value...................: 0.1160946 
R^2.......................: 0.11247 
Adjusted r^2..............: 0.101745 
Sample size of AE DB......: 2423 
Sample size of model......: 336 
Missing data %............: 86.13289 

- processing TNFA_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ Gender + ORdate_year, data = currentDF)

Coefficients:
(Intercept)   Gendermale  ORdate_year  
   550.1031       0.2622      -0.2749  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-2.89787 -0.54287 -0.04567  0.49646  2.58480 

Coefficients:
                     Estimate Std. Error t value Pr(>|t|)    
(Intercept)        576.966996 112.824162   5.114 5.63e-07 ***
currentDF[, TRAIT]  -0.046024   0.050896  -0.904   0.3666    
Age                  0.007178   0.005690   1.262   0.2081    
Gendermale           0.244660   0.106867   2.289   0.0227 *  
ORdate_year         -0.288518   0.056336  -5.121 5.42e-07 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.8595 on 301 degrees of freedom
Multiple R-squared:  0.09809,   Adjusted R-squared:  0.08611 
F-statistic: 8.184 on 4 and 301 DF,  p-value: 2.814e-06

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ml_2015_rank ' with ' TNFA_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ml_2015_rank 
Trait/outcome.............: TNFA_rank 
Effect size...............: -0.046024 
Standard error............: 0.050896 
Odds ratio (effect size)..: 0.955 
Lower 95% CI..............: 0.864 
Upper 95% CI..............: 1.055 
T-value...................: -0.904282 
P-value...................: 0.3665688 
R^2.......................: 0.098094 
Adjusted r^2..............: 0.086109 
Sample size of AE DB......: 2423 
Sample size of model......: 306 
Missing data %............: 87.37103 

- processing MIF_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ Gender + ORdate_year, data = currentDF)

Coefficients:
(Intercept)   Gendermale  ORdate_year  
   402.1448       0.2706      -0.2010  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-2.91129 -0.60262 -0.06228  0.55583  2.96602 

Coefficients:
                     Estimate Std. Error t value Pr(>|t|)    
(Intercept)        357.525975  91.070212   3.926 0.000101 ***
currentDF[, TRAIT]   0.067646   0.048881   1.384 0.167107    
Age                  0.004041   0.005094   0.793 0.428030    
Gendermale           0.264634   0.095298   2.777 0.005727 ** 
ORdate_year         -0.178868   0.045459  -3.935 9.71e-05 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9203 on 430 degrees of freedom
Multiple R-squared:  0.072, Adjusted R-squared:  0.06337 
F-statistic: 8.341 on 4 and 430 DF,  p-value: 1.737e-06

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ml_2015_rank ' with ' MIF_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ml_2015_rank 
Trait/outcome.............: MIF_rank 
Effect size...............: 0.067646 
Standard error............: 0.048881 
Odds ratio (effect size)..: 1.07 
Lower 95% CI..............: 0.972 
Upper 95% CI..............: 1.178 
T-value...................: 1.383899 
P-value...................: 0.1671073 
R^2.......................: 0.072001 
Adjusted r^2..............: 0.063368 
Sample size of AE DB......: 2423 
Sample size of model......: 435 
Missing data %............: 82.04705 

- processing MCP1_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year, data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]          Gendermale         ORdate_year  
          305.3839              0.2222              0.2393             -0.1527  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.1835 -0.6174 -0.0939  0.5408  2.9516 

Coefficients:
                     Estimate Std. Error t value Pr(>|t|)    
(Intercept)        313.648565  82.705400   3.792 0.000171 ***
currentDF[, TRAIT]   0.225302   0.043745   5.150 3.98e-07 ***
Age                  0.004970   0.004986   0.997 0.319495    
Gendermale           0.236381   0.093216   2.536 0.011574 *  
ORdate_year         -0.156994   0.041291  -3.802 0.000164 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.8911 on 426 degrees of freedom
Multiple R-squared:  0.1224,    Adjusted R-squared:  0.1142 
F-statistic: 14.86 on 4 and 426 DF,  p-value: 2.248e-11

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ml_2015_rank ' with ' MCP1_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ml_2015_rank 
Trait/outcome.............: MCP1_rank 
Effect size...............: 0.225302 
Standard error............: 0.043745 
Odds ratio (effect size)..: 1.253 
Lower 95% CI..............: 1.15 
Upper 95% CI..............: 1.365 
T-value...................: 5.150371 
P-value...................: 3.98173e-07 
R^2.......................: 0.122428 
Adjusted r^2..............: 0.114188 
Sample size of AE DB......: 2423 
Sample size of model......: 431 
Missing data %............: 82.21213 

- processing MIP1a_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year, data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]          Gendermale         ORdate_year  
         393.90745             0.08625             0.30123            -0.19690  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.0188 -0.6276 -0.0954  0.5264  2.8731 

Coefficients:
                     Estimate Std. Error t value Pr(>|t|)    
(Intercept)        396.969693  86.616258   4.583 6.18e-06 ***
currentDF[, TRAIT]   0.087714   0.048336   1.815  0.07034 .  
Age                  0.001742   0.005496   0.317  0.75143    
Gendermale           0.300124   0.102533   2.927  0.00362 ** 
ORdate_year         -0.198485   0.043245  -4.590 6.00e-06 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9358 on 389 degrees of freedom
Multiple R-squared:  0.07865,   Adjusted R-squared:  0.06917 
F-statistic: 8.301 on 4 and 389 DF,  p-value: 1.964e-06

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ml_2015_rank ' with ' MIP1a_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ml_2015_rank 
Trait/outcome.............: MIP1a_rank 
Effect size...............: 0.087714 
Standard error............: 0.048336 
Odds ratio (effect size)..: 1.092 
Lower 95% CI..............: 0.993 
Upper 95% CI..............: 1.2 
T-value...................: 1.814678 
P-value...................: 0.0703435 
R^2.......................: 0.078646 
Adjusted r^2..............: 0.069172 
Sample size of AE DB......: 2423 
Sample size of model......: 394 
Missing data %............: 83.73917 

- processing RANTES_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year, data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]          Gendermale         ORdate_year  
         327.62609             0.09623             0.26629            -0.16381  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-2.87164 -0.58387 -0.08473  0.52960  2.97018 

Coefficients:
                     Estimate Std. Error t value Pr(>|t|)    
(Intercept)        332.983028  89.291714   3.729 0.000218 ***
currentDF[, TRAIT]   0.101528   0.047860   2.121 0.034475 *  
Age                  0.004957   0.005107   0.971 0.332343    
Gendermale           0.262940   0.095951   2.740 0.006398 ** 
ORdate_year         -0.166649   0.044571  -3.739 0.000210 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9144 on 422 degrees of freedom
Multiple R-squared:  0.07764,   Adjusted R-squared:  0.0689 
F-statistic: 8.881 on 4 and 422 DF,  p-value: 6.824e-07

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ml_2015_rank ' with ' RANTES_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ml_2015_rank 
Trait/outcome.............: RANTES_rank 
Effect size...............: 0.101528 
Standard error............: 0.04786 
Odds ratio (effect size)..: 1.107 
Lower 95% CI..............: 1.008 
Upper 95% CI..............: 1.216 
T-value...................: 2.121344 
P-value...................: 0.03447519 
R^2.......................: 0.077641 
Adjusted r^2..............: 0.068898 
Sample size of AE DB......: 2423 
Sample size of model......: 427 
Missing data %............: 82.37722 

- processing MIG_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ Gender + ORdate_year, data = currentDF)

Coefficients:
(Intercept)   Gendermale  ORdate_year  
   404.8686       0.2736      -0.2024  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-2.9925 -0.5977 -0.1095  0.5154  2.9297 

Coefficients:
                     Estimate Std. Error t value Pr(>|t|)    
(Intercept)        427.718328  87.574695   4.884 1.48e-06 ***
currentDF[, TRAIT]   0.036122   0.047591   0.759  0.44828    
Age                  0.003277   0.005258   0.623  0.53344    
Gendermale           0.267777   0.097077   2.758  0.00606 ** 
ORdate_year         -0.213864   0.043728  -4.891 1.43e-06 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.925 on 419 degrees of freedom
Multiple R-squared:  0.06996,   Adjusted R-squared:  0.06108 
F-statistic: 7.879 on 4 and 419 DF,  p-value: 3.944e-06

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ml_2015_rank ' with ' MIG_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ml_2015_rank 
Trait/outcome.............: MIG_rank 
Effect size...............: 0.036122 
Standard error............: 0.047591 
Odds ratio (effect size)..: 1.037 
Lower 95% CI..............: 0.944 
Upper 95% CI..............: 1.138 
T-value...................: 0.758996 
P-value...................: 0.4482814 
R^2.......................: 0.069959 
Adjusted r^2..............: 0.06108 
Sample size of AE DB......: 2423 
Sample size of model......: 424 
Missing data %............: 82.50103 

- processing IP10_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year, data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]          Gendermale         ORdate_year  
          400.3374              0.1025              0.2924             -0.2001  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-2.94733 -0.58274 -0.09808  0.53081  2.89664 

Coefficients:
                     Estimate Std. Error t value Pr(>|t|)    
(Intercept)        407.032341  86.721660   4.694 3.74e-06 ***
currentDF[, TRAIT]   0.106331   0.047303   2.248  0.02515 *  
Age                  0.004060   0.005486   0.740  0.45972    
Gendermale           0.289105   0.100577   2.874  0.00427 ** 
ORdate_year         -0.203589   0.043296  -4.702 3.60e-06 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9225 on 383 degrees of freedom
Multiple R-squared:  0.08553,   Adjusted R-squared:  0.07598 
F-statistic: 8.956 on 4 and 383 DF,  p-value: 6.362e-07

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ml_2015_rank ' with ' IP10_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ml_2015_rank 
Trait/outcome.............: IP10_rank 
Effect size...............: 0.106331 
Standard error............: 0.047303 
Odds ratio (effect size)..: 1.112 
Lower 95% CI..............: 1.014 
Upper 95% CI..............: 1.22 
T-value...................: 2.247891 
P-value...................: 0.02515147 
R^2.......................: 0.085535 
Adjusted r^2..............: 0.075984 
Sample size of AE DB......: 2423 
Sample size of model......: 388 
Missing data %............: 83.98679 

- processing Eotaxin1_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ Gender + ORdate_year, data = currentDF)

Coefficients:
(Intercept)   Gendermale  ORdate_year  
   402.1448       0.2706      -0.2010  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.0014 -0.6096 -0.1007  0.5052  2.9228 

Coefficients:
                     Estimate Std. Error t value Pr(>|t|)    
(Intercept)        417.170515  83.883143   4.973 9.53e-07 ***
currentDF[, TRAIT]   0.049261   0.046621   1.057  0.29128    
Age                  0.003995   0.005106   0.783  0.43434    
Gendermale           0.257956   0.095913   2.689  0.00744 ** 
ORdate_year         -0.208627   0.041881  -4.981 9.16e-07 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9212 on 430 degrees of freedom
Multiple R-squared:  0.07028,   Adjusted R-squared:  0.06163 
F-statistic: 8.126 on 4 and 430 DF,  p-value: 2.527e-06

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ml_2015_rank ' with ' Eotaxin1_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ml_2015_rank 
Trait/outcome.............: Eotaxin1_rank 
Effect size...............: 0.049261 
Standard error............: 0.046621 
Odds ratio (effect size)..: 1.05 
Lower 95% CI..............: 0.959 
Upper 95% CI..............: 1.151 
T-value...................: 1.056626 
P-value...................: 0.2912753 
R^2.......................: 0.070282 
Adjusted r^2..............: 0.061633 
Sample size of AE DB......: 2423 
Sample size of model......: 435 
Missing data %............: 82.04705 

- processing TARC_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year, data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]          Gendermale         ORdate_year  
          259.7313              0.1304              0.2372             -0.1299  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-2.9737 -0.6141 -0.1072  0.5032  2.6997 

Coefficients:
                     Estimate Std. Error t value Pr(>|t|)   
(Intercept)        266.159979 102.621677   2.594  0.00988 **
currentDF[, TRAIT]   0.133654   0.051245   2.608  0.00947 **
Age                  0.003268   0.005404   0.605  0.54568   
Gendermale           0.235606   0.102344   2.302  0.02189 * 
ORdate_year         -0.133251   0.051227  -2.601  0.00966 **
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9182 on 368 degrees of freedom
Multiple R-squared:  0.05708,   Adjusted R-squared:  0.04683 
F-statistic: 5.569 on 4 and 368 DF,  p-value: 0.0002314

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ml_2015_rank ' with ' TARC_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ml_2015_rank 
Trait/outcome.............: TARC_rank 
Effect size...............: 0.133654 
Standard error............: 0.051245 
Odds ratio (effect size)..: 1.143 
Lower 95% CI..............: 1.034 
Upper 95% CI..............: 1.264 
T-value...................: 2.608132 
P-value...................: 0.009474563 
R^2.......................: 0.057077 
Adjusted r^2..............: 0.046827 
Sample size of AE DB......: 2423 
Sample size of model......: 373 
Missing data %............: 84.60586 

- processing PARC_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year, data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]          Gendermale         ORdate_year  
          327.4082              0.1384              0.2771             -0.1637  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-2.9070 -0.6184 -0.0725  0.5392  3.0240 

Coefficients:
                     Estimate Std. Error t value Pr(>|t|)    
(Intercept)        333.667657  86.443553   3.860 0.000131 ***
currentDF[, TRAIT]   0.139435   0.046946   2.970 0.003144 ** 
Age                  0.003913   0.005040   0.776 0.437991    
Gendermale           0.275525   0.094515   2.915 0.003741 ** 
ORdate_year         -0.166963   0.043154  -3.869 0.000126 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.913 on 430 degrees of freedom
Multiple R-squared:  0.08661,   Adjusted R-squared:  0.07811 
F-statistic: 10.19 on 4 and 430 DF,  p-value: 6.827e-08

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ml_2015_rank ' with ' PARC_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ml_2015_rank 
Trait/outcome.............: PARC_rank 
Effect size...............: 0.139435 
Standard error............: 0.046946 
Odds ratio (effect size)..: 1.15 
Lower 95% CI..............: 1.049 
Upper 95% CI..............: 1.26 
T-value...................: 2.970091 
P-value...................: 0.003143855 
R^2.......................: 0.086606 
Adjusted r^2..............: 0.078109 
Sample size of AE DB......: 2423 
Sample size of model......: 435 
Missing data %............: 82.04705 

- processing MDC_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ Gender + ORdate_year, data = currentDF)

Coefficients:
(Intercept)   Gendermale  ORdate_year  
   408.0877       0.3213      -0.2040  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-2.99814 -0.59702 -0.08428  0.55183  2.92191 

Coefficients:
                     Estimate Std. Error t value Pr(>|t|)    
(Intercept)        374.573357  92.251811   4.060 5.94e-05 ***
currentDF[, TRAIT]   0.057757   0.050953   1.134  0.25769    
Age                  0.001495   0.005455   0.274  0.78413    
Gendermale           0.323557   0.102239   3.165  0.00168 ** 
ORdate_year         -0.187304   0.046050  -4.067 5.77e-05 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9354 on 386 degrees of freedom
Multiple R-squared:  0.07845,   Adjusted R-squared:  0.0689 
F-statistic: 8.215 on 4 and 386 DF,  p-value: 2.29e-06

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ml_2015_rank ' with ' MDC_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ml_2015_rank 
Trait/outcome.............: MDC_rank 
Effect size...............: 0.057757 
Standard error............: 0.050953 
Odds ratio (effect size)..: 1.059 
Lower 95% CI..............: 0.959 
Upper 95% CI..............: 1.171 
T-value...................: 1.133543 
P-value...................: 0.2576896 
R^2.......................: 0.078453 
Adjusted r^2..............: 0.068903 
Sample size of AE DB......: 2423 
Sample size of model......: 391 
Missing data %............: 83.86298 

- processing OPG_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year, data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]          Gendermale         ORdate_year  
          406.1916              0.1514              0.2463             -0.2030  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-2.7926 -0.6021 -0.1021  0.5371  2.8144 

Coefficients:
                     Estimate Std. Error t value Pr(>|t|)    
(Intercept)        414.852239  82.585723   5.023 7.47e-07 ***
currentDF[, TRAIT]   0.154488   0.043687   3.536  0.00045 ***
Age                  0.004756   0.005058   0.940  0.34758    
Gendermale           0.243240   0.094761   2.567  0.01060 *  
ORdate_year         -0.207492   0.041233  -5.032 7.14e-07 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9102 on 429 degrees of freedom
Multiple R-squared:  0.09423,   Adjusted R-squared:  0.08578 
F-statistic: 11.16 on 4 and 429 DF,  p-value: 1.28e-08

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ml_2015_rank ' with ' OPG_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ml_2015_rank 
Trait/outcome.............: OPG_rank 
Effect size...............: 0.154488 
Standard error............: 0.043687 
Odds ratio (effect size)..: 1.167 
Lower 95% CI..............: 1.071 
Upper 95% CI..............: 1.271 
T-value...................: 3.536236 
P-value...................: 0.0004500912 
R^2.......................: 0.094227 
Adjusted r^2..............: 0.085781 
Sample size of AE DB......: 2423 
Sample size of model......: 434 
Missing data %............: 82.08832 

- processing sICAM1_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year, data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]          Gendermale         ORdate_year  
          348.5754              0.1199              0.2743             -0.1743  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-2.94630 -0.60443 -0.07322  0.52075  2.92462 

Coefficients:
                     Estimate Std. Error t value Pr(>|t|)    
(Intercept)        355.162519  84.910547   4.183 3.49e-05 ***
currentDF[, TRAIT]   0.126150   0.044725   2.821  0.00502 ** 
Age                  0.005385   0.005088   1.058  0.29046    
Gendermale           0.272232   0.094590   2.878  0.00420 ** 
ORdate_year         -0.177736   0.042386  -4.193 3.34e-05 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9139 on 430 degrees of freedom
Multiple R-squared:  0.0848,    Adjusted R-squared:  0.07629 
F-statistic: 9.961 on 4 and 430 DF,  p-value: 1.023e-07

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ml_2015_rank ' with ' sICAM1_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ml_2015_rank 
Trait/outcome.............: sICAM1_rank 
Effect size...............: 0.12615 
Standard error............: 0.044725 
Odds ratio (effect size)..: 1.134 
Lower 95% CI..............: 1.039 
Upper 95% CI..............: 1.238 
T-value...................: 2.820549 
P-value...................: 0.00501602 
R^2.......................: 0.0848 
Adjusted r^2..............: 0.076287 
Sample size of AE DB......: 2423 
Sample size of model......: 435 
Missing data %............: 82.04705 

- processing VEGFA_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year, data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]          Gendermale         ORdate_year  
          625.1068              0.2088              0.2828             -0.3123  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-2.8013 -0.5778 -0.1391  0.4550  2.8829 

Coefficients:
                     Estimate Std. Error t value Pr(>|t|)    
(Intercept)        637.536834  95.001315   6.711 7.46e-11 ***
currentDF[, TRAIT]   0.207733   0.047826   4.343 1.82e-05 ***
Age                  0.004984   0.005203   0.958  0.33876    
Gendermale           0.283464   0.099381   2.852  0.00459 ** 
ORdate_year         -0.318649   0.047432  -6.718 7.14e-11 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.8676 on 363 degrees of freedom
Multiple R-squared:  0.1388,    Adjusted R-squared:  0.1293 
F-statistic: 14.62 on 4 and 363 DF,  p-value: 4.399e-11

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ml_2015_rank ' with ' VEGFA_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ml_2015_rank 
Trait/outcome.............: VEGFA_rank 
Effect size...............: 0.207733 
Standard error............: 0.047826 
Odds ratio (effect size)..: 1.231 
Lower 95% CI..............: 1.121 
Upper 95% CI..............: 1.352 
T-value...................: 4.343473 
P-value...................: 1.822187e-05 
R^2.......................: 0.138758 
Adjusted r^2..............: 0.129267 
Sample size of AE DB......: 2423 
Sample size of model......: 368 
Missing data %............: 84.81222 

- processing TGFB_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ Gender + ORdate_year, data = currentDF)

Coefficients:
(Intercept)   Gendermale  ORdate_year  
   433.2702       0.2619      -0.2165  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-2.9163 -0.6071 -0.1017  0.5428  2.9677 

Coefficients:
                     Estimate Std. Error t value Pr(>|t|)    
(Intercept)        420.271319  86.614707   4.852 1.72e-06 ***
currentDF[, TRAIT]   0.048956   0.046165   1.060  0.28954    
Age                  0.003353   0.005156   0.650  0.51589    
Gendermale           0.264868   0.097695   2.711  0.00698 ** 
ORdate_year         -0.210145   0.043243  -4.860 1.66e-06 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9269 on 420 degrees of freedom
Multiple R-squared:  0.07633,   Adjusted R-squared:  0.06754 
F-statistic: 8.677 on 4 and 420 DF,  p-value: 9.758e-07

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ml_2015_rank ' with ' TGFB_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ml_2015_rank 
Trait/outcome.............: TGFB_rank 
Effect size...............: 0.048956 
Standard error............: 0.046165 
Odds ratio (effect size)..: 1.05 
Lower 95% CI..............: 0.959 
Upper 95% CI..............: 1.15 
T-value...................: 1.060461 
P-value...................: 0.2895444 
R^2.......................: 0.076334 
Adjusted r^2..............: 0.067537 
Sample size of AE DB......: 2423 
Sample size of model......: 425 
Missing data %............: 82.45976 

- processing MMP2_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ Gender + ORdate_year, data = currentDF)

Coefficients:
(Intercept)   Gendermale  ORdate_year  
   563.6482       0.3221      -0.2816  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-2.9560 -0.5839 -0.0973  0.5118  3.1719 

Coefficients:
                    Estimate Std. Error t value Pr(>|t|)    
(Intercept)        559.51950   88.02210   6.357 5.33e-10 ***
currentDF[, TRAIT]   0.03617    0.04616   0.784 0.433740    
Age                  0.00240    0.00506   0.474 0.635456    
Gendermale           0.33046    0.09564   3.455 0.000605 ***
ORdate_year         -0.27966    0.04394  -6.364 5.09e-10 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9122 on 425 degrees of freedom
Multiple R-squared:  0.1113,    Adjusted R-squared:  0.1029 
F-statistic: 13.31 on 4 and 425 DF,  p-value: 3.182e-10

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ml_2015_rank ' with ' MMP2_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ml_2015_rank 
Trait/outcome.............: MMP2_rank 
Effect size...............: 0.036166 
Standard error............: 0.046157 
Odds ratio (effect size)..: 1.037 
Lower 95% CI..............: 0.947 
Upper 95% CI..............: 1.135 
T-value...................: 0.78355 
P-value...................: 0.4337405 
R^2.......................: 0.111296 
Adjusted r^2..............: 0.102932 
Sample size of AE DB......: 2423 
Sample size of model......: 430 
Missing data %............: 82.25341 

- processing MMP8_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year, data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]          Gendermale         ORdate_year  
          563.2526              0.1837              0.2579             -0.2814  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-3.14127 -0.54874 -0.08888  0.49583  3.08371 

Coefficients:
                     Estimate Std. Error t value Pr(>|t|)    
(Intercept)        566.655197  85.910098   6.596 1.26e-10 ***
currentDF[, TRAIT]   0.183850   0.044968   4.089 5.19e-05 ***
Age                  0.002163   0.004947   0.437  0.66212    
Gendermale           0.257646   0.094569   2.724  0.00671 ** 
ORdate_year         -0.283185   0.042890  -6.603 1.21e-10 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.8954 on 425 degrees of freedom
Multiple R-squared:  0.1437,    Adjusted R-squared:  0.1356 
F-statistic: 17.83 on 4 and 425 DF,  p-value: 1.523e-13

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ml_2015_rank ' with ' MMP8_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ml_2015_rank 
Trait/outcome.............: MMP8_rank 
Effect size...............: 0.18385 
Standard error............: 0.044968 
Odds ratio (effect size)..: 1.202 
Lower 95% CI..............: 1.1 
Upper 95% CI..............: 1.313 
T-value...................: 4.088516 
P-value...................: 5.192815e-05 
R^2.......................: 0.143692 
Adjusted r^2..............: 0.135633 
Sample size of AE DB......: 2423 
Sample size of model......: 430 
Missing data %............: 82.25341 

- processing MMP9_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year, data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]          Gendermale         ORdate_year  
          536.0842              0.1141              0.3002             -0.2679  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.0536 -0.5754 -0.1183  0.5094  3.0413 

Coefficients:
                     Estimate Std. Error t value Pr(>|t|)    
(Intercept)        538.771644  87.598569   6.150 1.78e-09 ***
currentDF[, TRAIT]   0.113628   0.044259   2.567  0.01059 *  
Age                  0.001637   0.005008   0.327  0.74392    
Gendermale           0.300070   0.094724   3.168  0.00165 ** 
ORdate_year         -0.269268   0.043733  -6.157 1.72e-09 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9058 on 425 degrees of freedom
Multiple R-squared:  0.1236,    Adjusted R-squared:  0.1154 
F-statistic: 14.99 on 4 and 425 DF,  p-value: 1.817e-11

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ml_2015_rank ' with ' MMP9_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ml_2015_rank 
Trait/outcome.............: MMP9_rank 
Effect size...............: 0.113628 
Standard error............: 0.044259 
Odds ratio (effect size)..: 1.12 
Lower 95% CI..............: 1.027 
Upper 95% CI..............: 1.222 
T-value...................: 2.567334 
P-value...................: 0.01058951 
R^2.......................: 0.123604 
Adjusted r^2..............: 0.115355 
Sample size of AE DB......: 2423 
Sample size of model......: 430 
Missing data %............: 82.25341 

Analysis of MCP1_rank.

- processing IL2_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ Gender + ORdate_year, data = currentDF)

Coefficients:
(Intercept)   Gendermale  ORdate_year  
   317.7837       0.2414      -0.1587  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.3756 -0.6561 -0.0206  0.6542  2.6675 

Coefficients:
                     Estimate Std. Error t value Pr(>|t|)   
(Intercept)        331.200461 103.072538   3.213  0.00142 **
currentDF[, TRAIT]  -0.067438   0.048698  -1.385  0.16687   
Age                 -0.005142   0.005524  -0.931  0.35245   
Gendermale           0.234123   0.107979   2.168  0.03073 * 
ORdate_year         -0.165194   0.051462  -3.210  0.00143 **
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9691 on 403 degrees of freedom
Multiple R-squared:  0.03965,   Adjusted R-squared:  0.03011 
F-statistic: 4.159 on 4 and 403 DF,  p-value: 0.002591

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' IL2_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_rank 
Trait/outcome.............: IL2_rank 
Effect size...............: -0.067438 
Standard error............: 0.048698 
Odds ratio (effect size)..: 0.935 
Lower 95% CI..............: 0.85 
Upper 95% CI..............: 1.028 
T-value...................: -1.384828 
P-value...................: 0.1668713 
R^2.......................: 0.039647 
Adjusted r^2..............: 0.030115 
Sample size of AE DB......: 2423 
Sample size of model......: 408 
Missing data %............: 83.16137 

- processing IL4_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ Gender + ORdate_year, data = currentDF)

Coefficients:
(Intercept)   Gendermale  ORdate_year  
    396.488        0.302       -0.198  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.3451 -0.6586 -0.0216  0.6565  2.7193 

Coefficients:
                     Estimate Std. Error t value Pr(>|t|)    
(Intercept)        395.419104 111.526359   3.546 0.000442 ***
currentDF[, TRAIT]  -0.039830   0.050847  -0.783 0.433930    
Age                 -0.006173   0.005785  -1.067 0.286646    
Gendermale           0.299567   0.113355   2.643 0.008571 ** 
ORdate_year         -0.197249   0.055683  -3.542 0.000447 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9702 on 373 degrees of freedom
Multiple R-squared:  0.05331,   Adjusted R-squared:  0.04316 
F-statistic: 5.251 on 4 and 373 DF,  p-value: 0.0003999

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' IL4_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_rank 
Trait/outcome.............: IL4_rank 
Effect size...............: -0.03983 
Standard error............: 0.050847 
Odds ratio (effect size)..: 0.961 
Lower 95% CI..............: 0.87 
Upper 95% CI..............: 1.062 
T-value...................: -0.783331 
P-value...................: 0.43393 
R^2.......................: 0.053309 
Adjusted r^2..............: 0.043157 
Sample size of AE DB......: 2423 
Sample size of model......: 378 
Missing data %............: 84.39951 

- processing IL5_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year, data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]          Gendermale         ORdate_year  
         384.48883            -0.07448             0.28809            -0.19198  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.4804 -0.6335 -0.0382  0.6628  2.6508 

Coefficients:
                     Estimate Std. Error t value Pr(>|t|)    
(Intercept)        369.073757 107.080598   3.447 0.000628 ***
currentDF[, TRAIT]  -0.075767   0.048993  -1.546 0.122783    
Age                 -0.007120   0.005603  -1.271 0.204576    
Gendermale           0.299056   0.108116   2.766 0.005939 ** 
ORdate_year         -0.184049   0.053468  -3.442 0.000638 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9656 on 396 degrees of freedom
Multiple R-squared:  0.05401,   Adjusted R-squared:  0.04446 
F-statistic: 5.653 on 4 and 396 DF,  p-value: 0.0001964

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' IL5_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_rank 
Trait/outcome.............: IL5_rank 
Effect size...............: -0.075767 
Standard error............: 0.048993 
Odds ratio (effect size)..: 0.927 
Lower 95% CI..............: 0.842 
Upper 95% CI..............: 1.02 
T-value...................: -1.546497 
P-value...................: 0.1227834 
R^2.......................: 0.054014 
Adjusted r^2..............: 0.044458 
Sample size of AE DB......: 2423 
Sample size of model......: 401 
Missing data %............: 83.45027 

- processing IL6_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year, data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]          Gendermale         ORdate_year  
         304.00325             0.06981             0.22677            -0.15178  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-3.15866 -0.65200 -0.00741  0.66318  2.69318 

Coefficients:
                     Estimate Std. Error t value Pr(>|t|)   
(Intercept)        295.809907  97.929224   3.021  0.00268 **
currentDF[, TRAIT]   0.069665   0.047370   1.471  0.14213   
Age                 -0.005063   0.005497  -0.921  0.35752   
Gendermale           0.230037   0.106708   2.156  0.03167 * 
ORdate_year         -0.147522   0.048896  -3.017  0.00271 **
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9719 on 420 degrees of freedom
Multiple R-squared:  0.03519,   Adjusted R-squared:  0.026 
F-statistic:  3.83 on 4 and 420 DF,  p-value: 0.004536

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' IL6_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_rank 
Trait/outcome.............: IL6_rank 
Effect size...............: 0.069665 
Standard error............: 0.04737 
Odds ratio (effect size)..: 1.072 
Lower 95% CI..............: 0.977 
Upper 95% CI..............: 1.176 
T-value...................: 1.470669 
P-value...................: 0.1421293 
R^2.......................: 0.035189 
Adjusted r^2..............: 0.026 
Sample size of AE DB......: 2423 
Sample size of model......: 425 
Missing data %............: 82.45976 

- processing IL8_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]                 Age          Gendermale         ORdate_year  
         455.41647             0.31925            -0.01045             0.22219            -0.22697  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-3.15896 -0.54787 -0.05189  0.56747  2.83787 

Coefficients:
                     Estimate Std. Error t value Pr(>|t|)    
(Intercept)        455.416470  91.719536   4.965 1.01e-06 ***
currentDF[, TRAIT]   0.319248   0.047186   6.766 4.63e-11 ***
Age                 -0.010455   0.005209  -2.007   0.0454 *  
Gendermale           0.222191   0.102155   2.175   0.0302 *  
ORdate_year         -0.226974   0.045788  -4.957 1.05e-06 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9134 on 407 degrees of freedom
Multiple R-squared:  0.1467,    Adjusted R-squared:  0.1383 
F-statistic: 17.49 on 4 and 407 DF,  p-value: 2.941e-13

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' IL8_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_rank 
Trait/outcome.............: IL8_rank 
Effect size...............: 0.319248 
Standard error............: 0.047186 
Odds ratio (effect size)..: 1.376 
Lower 95% CI..............: 1.255 
Upper 95% CI..............: 1.509 
T-value...................: 6.765783 
P-value...................: 4.631788e-11 
R^2.......................: 0.146701 
Adjusted r^2..............: 0.138315 
Sample size of AE DB......: 2423 
Sample size of model......: 412 
Missing data %............: 82.99629 

- processing IL9_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year, data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]          Gendermale         ORdate_year  
          449.5529              0.2728              0.2753             -0.2244  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-2.01604 -0.62630 -0.08902  0.62907  2.66902 

Coefficients:
                     Estimate Std. Error t value Pr(>|t|)    
(Intercept)        445.416806  71.222529   6.254 8.66e-10 ***
currentDF[, TRAIT]   0.269238   0.040045   6.723 4.91e-11 ***
Age                 -0.004330   0.004633  -0.935  0.35047    
Gendermale           0.277452   0.088478   3.136  0.00182 ** 
ORdate_year         -0.222210   0.035552  -6.250 8.85e-10 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.8896 on 495 degrees of freedom
Multiple R-squared:  0.1682,    Adjusted R-squared:  0.1614 
F-statistic: 25.02 on 4 and 495 DF,  p-value: < 2.2e-16

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' IL9_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_rank 
Trait/outcome.............: IL9_rank 
Effect size...............: 0.269238 
Standard error............: 0.040045 
Odds ratio (effect size)..: 1.309 
Lower 95% CI..............: 1.21 
Upper 95% CI..............: 1.416 
T-value...................: 6.723338 
P-value...................: 4.907886e-11 
R^2.......................: 0.168152 
Adjusted r^2..............: 0.16143 
Sample size of AE DB......: 2423 
Sample size of model......: 500 
Missing data %............: 79.36442 

- processing IL10_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year, data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]          Gendermale         ORdate_year  
          406.1557             -0.1134              0.2844             -0.2028  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.4859 -0.6531 -0.0240  0.7019  2.6509 

Coefficients:
                     Estimate Std. Error t value Pr(>|t|)    
(Intercept)        398.869702 119.403549   3.341 0.000926 ***
currentDF[, TRAIT]  -0.117134   0.053607  -2.185 0.029543 *  
Age                 -0.007922   0.005967  -1.328 0.185151    
Gendermale           0.298223   0.116386   2.562 0.010810 *  
ORdate_year         -0.198902   0.059610  -3.337 0.000938 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9788 on 353 degrees of freedom
Multiple R-squared:  0.05845,   Adjusted R-squared:  0.04778 
F-statistic: 5.478 on 4 and 353 DF,  p-value: 0.0002735

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' IL10_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_rank 
Trait/outcome.............: IL10_rank 
Effect size...............: -0.117134 
Standard error............: 0.053607 
Odds ratio (effect size)..: 0.889 
Lower 95% CI..............: 0.801 
Upper 95% CI..............: 0.988 
T-value...................: -2.185044 
P-value...................: 0.02954261 
R^2.......................: 0.058451 
Adjusted r^2..............: 0.047781 
Sample size of AE DB......: 2423 
Sample size of model......: 358 
Missing data %............: 85.22493 

- processing IL12_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year, data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]          Gendermale         ORdate_year  
         393.10801            -0.09786             0.30519            -0.19629  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.5214 -0.6373 -0.0335  0.6609  2.6820 

Coefficients:
                     Estimate Std. Error t value Pr(>|t|)    
(Intercept)        385.201779 111.303850   3.461 0.000601 ***
currentDF[, TRAIT]  -0.099846   0.050664  -1.971 0.049487 *  
Age                 -0.005609   0.005764  -0.973 0.331137    
Gendermale           0.316927   0.111700   2.837 0.004797 ** 
ORdate_year         -0.192164   0.055571  -3.458 0.000607 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.966 on 374 degrees of freedom
Multiple R-squared:  0.05558,   Adjusted R-squared:  0.04548 
F-statistic: 5.503 on 4 and 374 DF,  p-value: 0.0002583

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' IL12_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_rank 
Trait/outcome.............: IL12_rank 
Effect size...............: -0.099846 
Standard error............: 0.050664 
Odds ratio (effect size)..: 0.905 
Lower 95% CI..............: 0.819 
Upper 95% CI..............: 0.999 
T-value...................: -1.970771 
P-value...................: 0.04948712 
R^2.......................: 0.055585 
Adjusted r^2..............: 0.045484 
Sample size of AE DB......: 2423 
Sample size of model......: 379 
Missing data %............: 84.35823 

- processing IL13_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year, data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]          Gendermale         ORdate_year  
          464.1716              0.4014              0.2097             -0.2317  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.6625 -0.6651 -0.0686  0.5793  2.4990 

Coefficients:
                     Estimate Std. Error t value Pr(>|t|)    
(Intercept)        462.277252  69.049724   6.695 5.34e-11 ***
currentDF[, TRAIT]   0.400238   0.037890  10.563  < 2e-16 ***
Age                 -0.001378   0.004368  -0.315   0.7525    
Gendermale           0.210670   0.083341   2.528   0.0118 *  
ORdate_year         -0.230718   0.034471  -6.693 5.40e-11 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.8808 on 550 degrees of freedom
Multiple R-squared:  0.2245,    Adjusted R-squared:  0.2189 
F-statistic: 39.81 on 4 and 550 DF,  p-value: < 2.2e-16

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' IL13_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_rank 
Trait/outcome.............: IL13_rank 
Effect size...............: 0.400238 
Standard error............: 0.03789 
Odds ratio (effect size)..: 1.492 
Lower 95% CI..............: 1.385 
Upper 95% CI..............: 1.607 
T-value...................: 10.56311 
P-value...................: 7.144811e-24 
R^2.......................: 0.224521 
Adjusted r^2..............: 0.218881 
Sample size of AE DB......: 2423 
Sample size of model......: 555 
Missing data %............: 77.09451 

- processing IL21_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year, data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]          Gendermale         ORdate_year  
          436.2035              0.3523              0.2078             -0.2178  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.5943 -0.6710 -0.0755  0.6157  2.3777 

Coefficients:
                     Estimate Std. Error t value Pr(>|t|)    
(Intercept)        432.376101  70.746565   6.112 1.87e-09 ***
currentDF[, TRAIT]   0.350079   0.038816   9.019  < 2e-16 ***
Age                 -0.002970   0.004468  -0.665   0.5065    
Gendermale           0.209696   0.085522   2.452   0.0145 *  
ORdate_year         -0.215744   0.035317  -6.109 1.90e-09 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9045 on 551 degrees of freedom
Multiple R-squared:  0.1873,    Adjusted R-squared:  0.1814 
F-statistic: 31.76 on 4 and 551 DF,  p-value: < 2.2e-16

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' IL21_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_rank 
Trait/outcome.............: IL21_rank 
Effect size...............: 0.350079 
Standard error............: 0.038816 
Odds ratio (effect size)..: 1.419 
Lower 95% CI..............: 1.315 
Upper 95% CI..............: 1.531 
T-value...................: 9.018962 
P-value...................: 3.135903e-18 
R^2.......................: 0.187347 
Adjusted r^2..............: 0.181448 
Sample size of AE DB......: 2423 
Sample size of model......: 556 
Missing data %............: 77.05324 

- processing INFG_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ Gender + ORdate_year, data = currentDF)

Coefficients:
(Intercept)   Gendermale  ORdate_year  
   435.5907       0.3678      -0.2175  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.4331 -0.6404 -0.0233  0.6720  2.7166 

Coefficients:
                     Estimate Std. Error t value Pr(>|t|)    
(Intercept)        471.147317 106.339563   4.431 1.21e-05 ***
currentDF[, TRAIT]  -0.062392   0.051283  -1.217 0.224459    
Age                 -0.004974   0.005589  -0.890 0.374066    
Gendermale           0.360477   0.108341   3.327 0.000958 ***
ORdate_year         -0.235101   0.053086  -4.429 1.23e-05 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9702 on 400 degrees of freedom
Multiple R-squared:  0.07276,   Adjusted R-squared:  0.06349 
F-statistic: 7.848 on 4 and 400 DF,  p-value: 4.264e-06

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' INFG_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_rank 
Trait/outcome.............: INFG_rank 
Effect size...............: -0.062392 
Standard error............: 0.051283 
Odds ratio (effect size)..: 0.94 
Lower 95% CI..............: 0.85 
Upper 95% CI..............: 1.039 
T-value...................: -1.216638 
P-value...................: 0.2244592 
R^2.......................: 0.072765 
Adjusted r^2..............: 0.063493 
Sample size of AE DB......: 2423 
Sample size of model......: 405 
Missing data %............: 83.28518 

- processing TNFA_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ Gender + ORdate_year, data = currentDF)

Coefficients:
(Intercept)   Gendermale  ORdate_year  
   321.0628       0.2653      -0.1603  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.2762 -0.6483  0.0060  0.6411  2.8309 

Coefficients:
                     Estimate Std. Error t value Pr(>|t|)   
(Intercept)        308.664496 112.145327   2.752  0.00621 **
currentDF[, TRAIT]   0.009713   0.050789   0.191  0.84844   
Age                 -0.006370   0.005821  -1.094  0.27459   
Gendermale           0.277185   0.112881   2.456  0.01453 * 
ORdate_year         -0.153941   0.055991  -2.749  0.00627 **
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9721 on 365 degrees of freedom
Multiple R-squared:  0.03932,   Adjusted R-squared:  0.02879 
F-statistic: 3.734 on 4 and 365 DF,  p-value: 0.005412

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' TNFA_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_rank 
Trait/outcome.............: TNFA_rank 
Effect size...............: 0.009713 
Standard error............: 0.050789 
Odds ratio (effect size)..: 1.01 
Lower 95% CI..............: 0.914 
Upper 95% CI..............: 1.115 
T-value...................: 0.191241 
P-value...................: 0.8484435 
R^2.......................: 0.039317 
Adjusted r^2..............: 0.028789 
Sample size of AE DB......: 2423 
Sample size of model......: 370 
Missing data %............: 84.72967 

- processing MIF_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year, data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]          Gendermale         ORdate_year  
         136.44181             0.34462             0.23501            -0.06817  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.3632 -0.6092 -0.0177  0.6642  2.6913 

Coefficients:
                     Estimate Std. Error t value Pr(>|t|)    
(Intercept)        133.066491  79.750174   1.669  0.09578 .  
currentDF[, TRAIT]   0.342095   0.043437   7.876 1.81e-14 ***
Age                 -0.004360   0.004529  -0.963  0.33605    
Gendermale           0.237429   0.086694   2.739  0.00637 ** 
ORdate_year         -0.066341   0.039805  -1.667  0.09615 .  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9186 on 551 degrees of freedom
Multiple R-squared:  0.1617,    Adjusted R-squared:  0.1557 
F-statistic: 26.58 on 4 and 551 DF,  p-value: < 2.2e-16

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' MIF_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_rank 
Trait/outcome.............: MIF_rank 
Effect size...............: 0.342095 
Standard error............: 0.043437 
Odds ratio (effect size)..: 1.408 
Lower 95% CI..............: 1.293 
Upper 95% CI..............: 1.533 
T-value...................: 7.875623 
P-value...................: 1.814862e-14 
R^2.......................: 0.161741 
Adjusted r^2..............: 0.155655 
Sample size of AE DB......: 2423 
Sample size of model......: 556 
Missing data %............: 77.05324 

- processing MCP1_rank
attempting model selection on an essentially perfect fit is nonsenseattempting model selection on an essentially perfect fit is nonsenseattempting model selection on an essentially perfect fit is nonsenseattempting model selection on an essentially perfect fit is nonsenseattempting model selection on an essentially perfect fit is nonsense

Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + ORdate_year, 
    data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]         ORdate_year  
        -8.616e-15           1.000e+00           4.299e-18  
essentially perfect fit: summary may be unreliable

Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
       Min         1Q     Median         3Q        Max 
-3.867e-16 -1.743e-17  7.200e-19  1.902e-17  2.006e-16 

Coefficients:
                     Estimate Std. Error    t value Pr(>|t|)    
(Intercept)        -8.289e-15  3.874e-15 -2.140e+00   0.0328 *  
currentDF[, TRAIT]  1.000e+00  2.124e-18  4.707e+17   <2e-16 ***
Age                 2.370e-19  2.382e-19  9.950e-01   0.3201    
Gendermale          1.815e-18  4.591e-18  3.950e-01   0.6927    
ORdate_year         4.128e-18  1.934e-18  2.135e+00   0.0332 *  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 4.832e-17 on 551 degrees of freedom
Multiple R-squared:      1, Adjusted R-squared:      1 
F-statistic: 5.94e+34 on 4 and 551 DF,  p-value: < 2.2e-16

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' MCP1_rank ' .
essentially perfect fit: summary may be unreliable
Collecting data.
essentially perfect fit: summary may be unreliableessentially perfect fit: summary may be unreliableessentially perfect fit: summary may be unreliableessentially perfect fit: summary may be unreliableessentially perfect fit: summary may be unreliableessentially perfect fit: summary may be unreliableessentially perfect fit: summary may be unreliable
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_rank 
Trait/outcome.............: MCP1_rank 
Effect size...............: 1 
Standard error............: 0 
Odds ratio (effect size)..: 2.718 
Lower 95% CI..............: 2.718 
Upper 95% CI..............: 2.718 
T-value...................: 4.707378e+17 
P-value...................: 0 
R^2.......................: 1 
Adjusted r^2..............: 1 
Sample size of AE DB......: 2423 
Sample size of model......: 556 
Missing data %............: 77.05324 

- processing MIP1a_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year, data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]          Gendermale         ORdate_year  
          474.0856              0.3358              0.2006             -0.2366  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-1.79686 -0.65092 -0.06877  0.58497  2.67954 

Coefficients:
                     Estimate Std. Error t value Pr(>|t|)    
(Intercept)        468.332834  69.013614   6.786 3.22e-11 ***
currentDF[, TRAIT]   0.332995   0.038566   8.635  < 2e-16 ***
Age                 -0.005195   0.004459  -1.165   0.2446    
Gendermale           0.204041   0.085614   2.383   0.0175 *  
ORdate_year         -0.233591   0.034451  -6.780 3.34e-11 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.8684 on 508 degrees of freedom
Multiple R-squared:  0.2051,    Adjusted R-squared:  0.1988 
F-statistic: 32.77 on 4 and 508 DF,  p-value: < 2.2e-16

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' MIP1a_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_rank 
Trait/outcome.............: MIP1a_rank 
Effect size...............: 0.332995 
Standard error............: 0.038566 
Odds ratio (effect size)..: 1.395 
Lower 95% CI..............: 1.294 
Upper 95% CI..............: 1.505 
T-value...................: 8.634514 
P-value...................: 7.646036e-17 
R^2.......................: 0.205089 
Adjusted r^2..............: 0.19883 
Sample size of AE DB......: 2423 
Sample size of model......: 513 
Missing data %............: 78.8279 

- processing RANTES_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year, data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]          Gendermale         ORdate_year  
          202.9668              0.3373              0.2082             -0.1014  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.2792 -0.5356 -0.0162  0.5823  3.0478 

Coefficients:
                     Estimate Std. Error t value Pr(>|t|)    
(Intercept)        202.399940  76.702752   2.639  0.00856 ** 
currentDF[, TRAIT]   0.336096   0.042438   7.920 1.35e-14 ***
Age                 -0.001053   0.004542  -0.232  0.81680    
Gendermale           0.208992   0.086714   2.410  0.01628 *  
ORdate_year         -0.101037   0.038283  -2.639  0.00855 ** 
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.912 on 544 degrees of freedom
Multiple R-squared:  0.1653,    Adjusted R-squared:  0.1591 
F-statistic: 26.93 on 4 and 544 DF,  p-value: < 2.2e-16

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' RANTES_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_rank 
Trait/outcome.............: RANTES_rank 
Effect size...............: 0.336096 
Standard error............: 0.042438 
Odds ratio (effect size)..: 1.399 
Lower 95% CI..............: 1.288 
Upper 95% CI..............: 1.521 
T-value...................: 7.919657 
P-value...................: 1.348892e-14 
R^2.......................: 0.165283 
Adjusted r^2..............: 0.159146 
Sample size of AE DB......: 2423 
Sample size of model......: 549 
Missing data %............: 77.34214 

- processing MIG_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year, data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]          Gendermale         ORdate_year  
          570.9520              0.2940              0.2282             -0.2850  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.2468 -0.6400 -0.0431  0.6164  2.4929 

Coefficients:
                     Estimate Std. Error t value Pr(>|t|)    
(Intercept)        564.938294  74.957612   7.537 2.04e-13 ***
currentDF[, TRAIT]   0.290517   0.041532   6.995 7.86e-12 ***
Age                 -0.003719   0.004609  -0.807  0.42009    
Gendermale           0.230474   0.087474   2.635  0.00866 ** 
ORdate_year         -0.281872   0.037422  -7.532 2.10e-13 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9197 on 541 degrees of freedom
Multiple R-squared:  0.1494,    Adjusted R-squared:  0.1432 
F-statistic: 23.76 on 4 and 541 DF,  p-value: < 2.2e-16

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' MIG_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_rank 
Trait/outcome.............: MIG_rank 
Effect size...............: 0.290517 
Standard error............: 0.041532 
Odds ratio (effect size)..: 1.337 
Lower 95% CI..............: 1.233 
Upper 95% CI..............: 1.451 
T-value...................: 6.995086 
P-value...................: 7.859583e-12 
R^2.......................: 0.149445 
Adjusted r^2..............: 0.143156 
Sample size of AE DB......: 2423 
Sample size of model......: 546 
Missing data %............: 77.46595 

- processing IP10_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year, data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]          Gendermale         ORdate_year  
          410.1428              0.4186              0.2370             -0.2047  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.2812 -0.6240 -0.0607  0.5845  2.3274 

Coefficients:
                     Estimate Std. Error t value Pr(>|t|)    
(Intercept)        408.108584  69.680872   5.857 8.64e-09 ***
currentDF[, TRAIT]   0.417366   0.038927  10.722  < 2e-16 ***
Age                 -0.002132   0.004490  -0.475  0.63514    
Gendermale           0.238554   0.084533   2.822  0.00497 ** 
ORdate_year         -0.203660   0.034782  -5.855 8.71e-09 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.8559 on 492 degrees of freedom
Multiple R-squared:  0.2476,    Adjusted R-squared:  0.2415 
F-statistic: 40.48 on 4 and 492 DF,  p-value: < 2.2e-16

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' IP10_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_rank 
Trait/outcome.............: IP10_rank 
Effect size...............: 0.417366 
Standard error............: 0.038927 
Odds ratio (effect size)..: 1.518 
Lower 95% CI..............: 1.406 
Upper 95% CI..............: 1.638 
T-value...................: 10.72171 
P-value...................: 3.021844e-24 
R^2.......................: 0.247632 
Adjusted r^2..............: 0.241515 
Sample size of AE DB......: 2423 
Sample size of model......: 497 
Missing data %............: 79.48824 

- processing Eotaxin1_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year, data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]          Gendermale         ORdate_year  
          480.4459              0.3284              0.1907             -0.2398  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.4214 -0.6698 -0.0780  0.6000  2.5515 

Coefficients:
                     Estimate Std. Error t value Pr(>|t|)    
(Intercept)        474.710009  71.895573   6.603 9.51e-11 ***
currentDF[, TRAIT]   0.326133   0.039426   8.272 9.95e-16 ***
Age                 -0.004255   0.004505  -0.944    0.345    
Gendermale           0.193342   0.086639   2.232    0.026 *  
ORdate_year         -0.236820   0.035891  -6.598 9.78e-11 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9139 on 551 degrees of freedom
Multiple R-squared:  0.1704,    Adjusted R-squared:  0.1644 
F-statistic: 28.29 on 4 and 551 DF,  p-value: < 2.2e-16

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' Eotaxin1_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_rank 
Trait/outcome.............: Eotaxin1_rank 
Effect size...............: 0.326133 
Standard error............: 0.039426 
Odds ratio (effect size)..: 1.386 
Lower 95% CI..............: 1.283 
Upper 95% CI..............: 1.497 
T-value...................: 8.272003 
P-value...................: 9.945147e-16 
R^2.......................: 0.170403 
Adjusted r^2..............: 0.16438 
Sample size of AE DB......: 2423 
Sample size of model......: 556 
Missing data %............: 77.05324 

- processing TARC_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year, data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]          Gendermale         ORdate_year  
          244.2877              0.2704              0.1328             -0.1220  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-2.95046 -0.61035 -0.07473  0.62130  2.69438 

Coefficients:
                     Estimate Std. Error t value Pr(>|t|)    
(Intercept)        240.766099  89.076405   2.703  0.00712 ** 
currentDF[, TRAIT]   0.267944   0.044061   6.081 2.45e-09 ***
Age                 -0.002735   0.004820  -0.567  0.57068    
Gendermale           0.133451   0.093203   1.432  0.15285    
ORdate_year         -0.120119   0.044459  -2.702  0.00714 ** 
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.922 on 476 degrees of freedom
Multiple R-squared:  0.1124,    Adjusted R-squared:  0.1049 
F-statistic: 15.07 on 4 and 476 DF,  p-value: 1.324e-11

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' TARC_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_rank 
Trait/outcome.............: TARC_rank 
Effect size...............: 0.267944 
Standard error............: 0.044061 
Odds ratio (effect size)..: 1.307 
Lower 95% CI..............: 1.199 
Upper 95% CI..............: 1.425 
T-value...................: 6.08117 
P-value...................: 2.451314e-09 
R^2.......................: 0.112375 
Adjusted r^2..............: 0.104915 
Sample size of AE DB......: 2423 
Sample size of model......: 481 
Missing data %............: 80.14858 

- processing PARC_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]                 Age          Gendermale         ORdate_year  
        162.585286            0.425915           -0.006632            0.277017           -0.081011  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-3.11016 -0.55126 -0.02245  0.58456  2.17519 

Coefficients:
                     Estimate Std. Error t value Pr(>|t|)    
(Intercept)        162.585286  72.281906   2.249 0.024886 *  
currentDF[, TRAIT]   0.425915   0.039168  10.874  < 2e-16 ***
Age                 -0.006632   0.004326  -1.533 0.125889    
Gendermale           0.277017   0.082886   3.342 0.000888 ***
ORdate_year         -0.081011   0.036082  -2.245 0.025152 *  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.8792 on 551 degrees of freedom
Multiple R-squared:  0.2322,    Adjusted R-squared:  0.2266 
F-statistic: 41.65 on 4 and 551 DF,  p-value: < 2.2e-16

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' PARC_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_rank 
Trait/outcome.............: PARC_rank 
Effect size...............: 0.425915 
Standard error............: 0.039168 
Odds ratio (effect size)..: 1.531 
Lower 95% CI..............: 1.418 
Upper 95% CI..............: 1.653 
T-value...................: 10.87395 
P-value...................: 4.394713e-25 
R^2.......................: 0.232156 
Adjusted r^2..............: 0.226582 
Sample size of AE DB......: 2423 
Sample size of model......: 556 
Missing data %............: 77.05324 

- processing MDC_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year, data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]          Gendermale         ORdate_year  
          253.6058              0.3792              0.2858             -0.1266  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-1.9082 -0.6351 -0.0943  0.5437  3.2873 

Coefficients:
                     Estimate Std. Error t value Pr(>|t|)    
(Intercept)        250.003830  72.176641   3.464 0.000578 ***
currentDF[, TRAIT]   0.377012   0.040358   9.342  < 2e-16 ***
Age                 -0.004058   0.004424  -0.917 0.359527    
Gendermale           0.288455   0.084892   3.398 0.000733 ***
ORdate_year         -0.124711   0.036026  -3.462 0.000583 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.8631 on 503 degrees of freedom
Multiple R-squared:  0.2225,    Adjusted R-squared:  0.2163 
F-statistic: 35.99 on 4 and 503 DF,  p-value: < 2.2e-16

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' MDC_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_rank 
Trait/outcome.............: MDC_rank 
Effect size...............: 0.377012 
Standard error............: 0.040358 
Odds ratio (effect size)..: 1.458 
Lower 95% CI..............: 1.347 
Upper 95% CI..............: 1.578 
T-value...................: 9.341649 
P-value...................: 3.06886e-19 
R^2.......................: 0.222496 
Adjusted r^2..............: 0.216313 
Sample size of AE DB......: 2423 
Sample size of model......: 508 
Missing data %............: 79.03426 

- processing OPG_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year, data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]          Gendermale         ORdate_year  
          440.2481              0.5843              0.1648             -0.2198  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.6155 -0.5348 -0.0631  0.4750  2.5142 

Coefficients:
                     Estimate Std. Error t value Pr(>|t|)    
(Intercept)        438.288904  60.992665   7.186 2.18e-12 ***
currentDF[, TRAIT]   0.583484   0.033999  17.162  < 2e-16 ***
Age                 -0.001501   0.003857  -0.389   0.6972    
Gendermale           0.165816   0.073853   2.245   0.0252 *  
ORdate_year         -0.218731   0.030448  -7.184 2.22e-12 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.7796 on 550 degrees of freedom
Multiple R-squared:  0.3925,    Adjusted R-squared:  0.3881 
F-statistic: 88.84 on 4 and 550 DF,  p-value: < 2.2e-16

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' OPG_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_rank 
Trait/outcome.............: OPG_rank 
Effect size...............: 0.583484 
Standard error............: 0.033999 
Odds ratio (effect size)..: 1.792 
Lower 95% CI..............: 1.677 
Upper 95% CI..............: 1.916 
T-value...................: 17.16184 
P-value...................: 3.464325e-53 
R^2.......................: 0.392512 
Adjusted r^2..............: 0.388094 
Sample size of AE DB......: 2423 
Sample size of model......: 555 
Missing data %............: 77.09451 

- processing sICAM1_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year, data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]          Gendermale         ORdate_year  
         100.25480             0.65142             0.23469            -0.05012  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-3.12956 -0.37673  0.03337  0.42560  2.24890 

Coefficients:
                     Estimate Std. Error t value Pr(>|t|)    
(Intercept)        101.612492  59.566339   1.706 0.088596 .  
currentDF[, TRAIT]   0.653254   0.032594  20.042  < 2e-16 ***
Age                  0.001807   0.003650   0.495 0.620785    
Gendermale           0.233698   0.069490   3.363 0.000824 ***
ORdate_year         -0.050855   0.029732  -1.710 0.087739 .  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.7369 on 551 degrees of freedom
Multiple R-squared:  0.4606,    Adjusted R-squared:  0.4567 
F-statistic: 117.6 on 4 and 551 DF,  p-value: < 2.2e-16

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' sICAM1_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_rank 
Trait/outcome.............: sICAM1_rank 
Effect size...............: 0.653254 
Standard error............: 0.032594 
Odds ratio (effect size)..: 1.922 
Lower 95% CI..............: 1.803 
Upper 95% CI..............: 2.049 
T-value...................: 20.042 
P-value...................: 1.602312e-67 
R^2.......................: 0.460602 
Adjusted r^2..............: 0.456687 
Sample size of AE DB......: 2423 
Sample size of model......: 556 
Missing data %............: 77.05324 

- processing VEGFA_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year, data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]          Gendermale         ORdate_year  
          636.0065              0.3152              0.2101             -0.3175  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.2726 -0.6299 -0.0513  0.6024  2.7533 

Coefficients:
                     Estimate Std. Error t value Pr(>|t|)    
(Intercept)        627.435812  87.528538   7.168 3.16e-12 ***
currentDF[, TRAIT]   0.316635   0.046349   6.832 2.76e-11 ***
Age                 -0.005637   0.004958  -1.137   0.2562    
Gendermale           0.209258   0.096821   2.161   0.0312 *  
ORdate_year         -0.312989   0.043693  -7.163 3.26e-12 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9106 on 447 degrees of freedom
Multiple R-squared:  0.1538,    Adjusted R-squared:  0.1463 
F-statistic: 20.32 on 4 and 447 DF,  p-value: 2.158e-15

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' VEGFA_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_rank 
Trait/outcome.............: VEGFA_rank 
Effect size...............: 0.316635 
Standard error............: 0.046349 
Odds ratio (effect size)..: 1.373 
Lower 95% CI..............: 1.253 
Upper 95% CI..............: 1.503 
T-value...................: 6.831545 
P-value...................: 2.757679e-11 
R^2.......................: 0.153843 
Adjusted r^2..............: 0.146271 
Sample size of AE DB......: 2423 
Sample size of model......: 452 
Missing data %............: 81.34544 

- processing TGFB_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year, data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]          Gendermale         ORdate_year  
          370.4817              0.1160              0.2732             -0.1850  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.4713 -0.6428 -0.0446  0.6781  2.6902 

Coefficients:
                     Estimate Std. Error t value Pr(>|t|)    
(Intercept)        366.409129  78.009902   4.697 3.38e-06 ***
currentDF[, TRAIT]   0.114467   0.042999   2.662  0.00800 ** 
Age                 -0.003384   0.004812  -0.703  0.48216    
Gendermale           0.274764   0.092739   2.963  0.00319 ** 
ORdate_year         -0.182825   0.038942  -4.695 3.41e-06 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9567 on 523 degrees of freedom
Multiple R-squared:  0.07951,   Adjusted R-squared:  0.07247 
F-statistic: 11.29 on 4 and 523 DF,  p-value: 8.501e-09

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' TGFB_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_rank 
Trait/outcome.............: TGFB_rank 
Effect size...............: 0.114467 
Standard error............: 0.042999 
Odds ratio (effect size)..: 1.121 
Lower 95% CI..............: 1.031 
Upper 95% CI..............: 1.22 
T-value...................: 2.662105 
P-value...................: 0.008004355 
R^2.......................: 0.079508 
Adjusted r^2..............: 0.072468 
Sample size of AE DB......: 2423 
Sample size of model......: 528 
Missing data %............: 78.20883 

- processing MMP2_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year, data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]          Gendermale         ORdate_year  
          289.5407              0.3330              0.3622             -0.1446  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.4835 -0.5786  0.0060  0.5934  2.6531 

Coefficients:
                     Estimate Std. Error t value Pr(>|t|)    
(Intercept)        284.458423  77.752159   3.659 0.000279 ***
currentDF[, TRAIT]   0.330774   0.040358   8.196 1.91e-15 ***
Age                 -0.005165   0.004588  -1.126 0.260745    
Gendermale           0.364122   0.088326   4.122 4.35e-05 ***
ORdate_year         -0.141897   0.038812  -3.656 0.000282 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9102 on 526 degrees of freedom
Multiple R-squared:  0.1664,    Adjusted R-squared:   0.16 
F-statistic: 26.24 on 4 and 526 DF,  p-value: < 2.2e-16

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' MMP2_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_rank 
Trait/outcome.............: MMP2_rank 
Effect size...............: 0.330774 
Standard error............: 0.040358 
Odds ratio (effect size)..: 1.392 
Lower 95% CI..............: 1.286 
Upper 95% CI..............: 1.507 
T-value...................: 8.196056 
P-value...................: 1.905934e-15 
R^2.......................: 0.166354 
Adjusted r^2..............: 0.160015 
Sample size of AE DB......: 2423 
Sample size of model......: 531 
Missing data %............: 78.08502 

- processing MMP8_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]                 Age          Gendermale         ORdate_year  
        389.774698            0.432719           -0.007878            0.143507           -0.194289  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.2706 -0.4946  0.0294  0.5473  2.8701 

Coefficients:
                     Estimate Std. Error t value Pr(>|t|)    
(Intercept)        389.774698  73.252460   5.321 1.53e-07 ***
currentDF[, TRAIT]   0.432719   0.038141  11.345  < 2e-16 ***
Age                 -0.007878   0.004362  -1.806   0.0715 .  
Gendermale           0.143507   0.084864   1.691   0.0914 .  
ORdate_year         -0.194289   0.036567  -5.313 1.59e-07 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.8664 on 526 degrees of freedom
Multiple R-squared:  0.2447,    Adjusted R-squared:  0.239 
F-statistic: 42.61 on 4 and 526 DF,  p-value: < 2.2e-16

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' MMP8_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_rank 
Trait/outcome.............: MMP8_rank 
Effect size...............: 0.432719 
Standard error............: 0.038141 
Odds ratio (effect size)..: 1.541 
Lower 95% CI..............: 1.43 
Upper 95% CI..............: 1.661 
T-value...................: 11.34524 
P-value...................: 7.740327e-27 
R^2.......................: 0.244712 
Adjusted r^2..............: 0.238968 
Sample size of AE DB......: 2423 
Sample size of model......: 531 
Missing data %............: 78.08502 

- processing MMP9_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]                 Age          Gendermale         ORdate_year  
         257.60136             0.56444            -0.01056             0.20596            -0.12826  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.1884 -0.5048 -0.0073  0.5197  2.8723 

Coefficients:
                     Estimate Std. Error t value Pr(>|t|)    
(Intercept)        257.601363  67.289335   3.828 0.000145 ***
currentDF[, TRAIT]   0.564438   0.035147  16.059  < 2e-16 ***
Age                 -0.010561   0.003989  -2.648 0.008352 ** 
Gendermale           0.205960   0.076739   2.684 0.007507 ** 
ORdate_year         -0.128262   0.033591  -3.818 0.000150 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.7912 on 525 degrees of freedom
Multiple R-squared:  0.3698,    Adjusted R-squared:  0.365 
F-statistic: 77.03 on 4 and 525 DF,  p-value: < 2.2e-16

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' MMP9_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_rank 
Trait/outcome.............: MMP9_rank 
Effect size...............: 0.564438 
Standard error............: 0.035147 
Odds ratio (effect size)..: 1.758 
Lower 95% CI..............: 1.641 
Upper 95% CI..............: 1.884 
T-value...................: 16.05932 
P-value...................: 1.678039e-47 
R^2.......................: 0.369827 
Adjusted r^2..............: 0.365025 
Sample size of AE DB......: 2423 
Sample size of model......: 530 
Missing data %............: 78.12629 

Analysis of MCP1_plasma_olink_rank.

- processing IL2_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT], data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]  
           0.05528            -0.19739  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-1.80410 -0.55564 -0.04765  0.54464  2.42405 

Coefficients:
                    Estimate Std. Error t value Pr(>|t|)  
(Intercept)        -98.56119  198.43504  -0.497   0.6204  
currentDF[, TRAIT]  -0.18207    0.09437  -1.929   0.0564 .
Age                  0.01002    0.01048   0.956   0.3412  
Gendermale           0.03336    0.21175   0.158   0.8751  
ORdate_year          0.04887    0.09908   0.493   0.6228  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9113 on 105 degrees of freedom
Multiple R-squared:  0.05423,   Adjusted R-squared:  0.0182 
F-statistic: 1.505 on 4 and 105 DF,  p-value: 0.206

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_plasma_olink_rank ' with ' IL2_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_plasma_olink_rank 
Trait/outcome.............: IL2_rank 
Effect size...............: -0.182074 
Standard error............: 0.094369 
Odds ratio (effect size)..: 0.834 
Lower 95% CI..............: 0.693 
Upper 95% CI..............: 1.003 
T-value...................: -1.929381 
P-value...................: 0.05638267 
R^2.......................: 0.054227 
Adjusted r^2..............: 0.018198 
Sample size of AE DB......: 2423 
Sample size of model......: 110 
Missing data %............: 95.46017 

- processing IL4_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ Age, data = currentDF)

Coefficients:
(Intercept)          Age  
   -0.98595      0.01474  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-1.93797 -0.58716  0.03406  0.53163  2.30401 

Coefficients:
                    Estimate Std. Error t value Pr(>|t|)
(Intercept)         77.28843  189.39696   0.408    0.684
currentDF[, TRAIT]  -0.11422    0.09109  -1.254    0.213
Age                  0.01469    0.01014   1.449    0.150
Gendermale          -0.03156    0.21832  -0.145    0.885
ORdate_year         -0.03906    0.09458  -0.413    0.680

Residual standard error: 0.8822 on 105 degrees of freedom
Multiple R-squared:  0.03714,   Adjusted R-squared:  0.0004561 
F-statistic: 1.012 on 4 and 105 DF,  p-value: 0.4045

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_plasma_olink_rank ' with ' IL4_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_plasma_olink_rank 
Trait/outcome.............: IL4_rank 
Effect size...............: -0.114223 
Standard error............: 0.091088 
Odds ratio (effect size)..: 0.892 
Lower 95% CI..............: 0.746 
Upper 95% CI..............: 1.066 
T-value...................: -1.253978 
P-value...................: 0.2126348 
R^2.......................: 0.037137 
Adjusted r^2..............: 0.000456 
Sample size of AE DB......: 2423 
Sample size of model......: 110 
Missing data %............: 95.46017 

- processing IL5_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT], data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]  
           0.05697            -0.21970  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-1.79317 -0.49890 -0.04681  0.54990  2.43833 

Coefficients:
                     Estimate Std. Error t value Pr(>|t|)  
(Intercept)        -37.019296 188.485386  -0.196   0.8447  
currentDF[, TRAIT]  -0.211065   0.088773  -2.378   0.0192 *
Age                  0.008552   0.010139   0.843   0.4008  
Gendermale           0.104685   0.196926   0.532   0.5961  
ORdate_year          0.018178   0.094140   0.193   0.8472  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.8917 on 110 degrees of freedom
Multiple R-squared:  0.06696,   Adjusted R-squared:  0.03304 
F-statistic: 1.974 on 4 and 110 DF,  p-value: 0.1035

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_plasma_olink_rank ' with ' IL5_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_plasma_olink_rank 
Trait/outcome.............: IL5_rank 
Effect size...............: -0.211065 
Standard error............: 0.088773 
Odds ratio (effect size)..: 0.81 
Lower 95% CI..............: 0.68 
Upper 95% CI..............: 0.964 
T-value...................: -2.377576 
P-value...................: 0.01915275 
R^2.......................: 0.066965 
Adjusted r^2..............: 0.033036 
Sample size of AE DB......: 2423 
Sample size of model......: 115 
Missing data %............: 95.25382 

- processing IL6_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ Gender, data = currentDF)

Coefficients:
(Intercept)   Gendermale  
    -0.1223       0.2984  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-1.88936 -0.52722 -0.07808  0.51187  2.19902 

Coefficients:
                     Estimate Std. Error t value Pr(>|t|)
(Intercept)        -109.14464  177.17402  -0.616    0.539
currentDF[, TRAIT]   -0.04185    0.09155  -0.457    0.649
Age                   0.00721    0.01012   0.713    0.478
Gendermale            0.23549    0.19754   1.192    0.236
ORdate_year           0.05420    0.08848   0.613    0.541

Residual standard error: 0.8921 on 111 degrees of freedom
Multiple R-squared:  0.03189,   Adjusted R-squared:  -0.002996 
F-statistic: 0.9141 on 4 and 111 DF,  p-value: 0.4584

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_plasma_olink_rank ' with ' IL6_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_plasma_olink_rank 
Trait/outcome.............: IL6_rank 
Effect size...............: -0.041845 
Standard error............: 0.091549 
Odds ratio (effect size)..: 0.959 
Lower 95% CI..............: 0.801 
Upper 95% CI..............: 1.148 
T-value...................: -0.457074 
P-value...................: 0.6485114 
R^2.......................: 0.031891 
Adjusted r^2..............: -0.002996 
Sample size of AE DB......: 2423 
Sample size of model......: 116 
Missing data %............: 95.21255 

- processing IL8_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ Gender, data = currentDF)

Coefficients:
(Intercept)   Gendermale  
    -0.1465       0.3081  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-1.95382 -0.54688 -0.03079  0.54984  2.04549 

Coefficients:
                     Estimate Std. Error t value Pr(>|t|)
(Intercept)        -84.760726 164.801599  -0.514    0.608
currentDF[, TRAIT]  -0.043833   0.084563  -0.518    0.605
Age                  0.009361   0.009983   0.938    0.350
Gendermale           0.275385   0.192464   1.431    0.155
ORdate_year          0.041924   0.082298   0.509    0.611

Residual standard error: 0.8994 on 109 degrees of freedom
Multiple R-squared:  0.03728,   Adjusted R-squared:  0.001953 
F-statistic: 1.055 on 4 and 109 DF,  p-value: 0.3823

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_plasma_olink_rank ' with ' IL8_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_plasma_olink_rank 
Trait/outcome.............: IL8_rank 
Effect size...............: -0.043833 
Standard error............: 0.084563 
Odds ratio (effect size)..: 0.957 
Lower 95% CI..............: 0.811 
Upper 95% CI..............: 1.13 
T-value...................: -0.518354 
P-value...................: 0.6052623 
R^2.......................: 0.037282 
Adjusted r^2..............: 0.001953 
Sample size of AE DB......: 2423 
Sample size of model......: 114 
Missing data %............: 95.29509 

- processing IL9_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ Age, data = currentDF)

Coefficients:
(Intercept)          Age  
   -0.80613      0.01346  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-1.90051 -0.55683 -0.06317  0.56491  2.17186 

Coefficients:
                     Estimate Std. Error t value Pr(>|t|)
(Intercept)        -84.354215 137.937716  -0.612    0.542
currentDF[, TRAIT]  -0.020511   0.095087  -0.216    0.830
Age                  0.012054   0.009766   1.234    0.219
Gendermale           0.112250   0.181989   0.617    0.539
ORdate_year          0.041702   0.068827   0.606    0.546

Residual standard error: 0.9303 on 124 degrees of freedom
Multiple R-squared:  0.02176,   Adjusted R-squared:  -0.009793 
F-statistic: 0.6897 on 4 and 124 DF,  p-value: 0.6004

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_plasma_olink_rank ' with ' IL9_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_plasma_olink_rank 
Trait/outcome.............: IL9_rank 
Effect size...............: -0.020511 
Standard error............: 0.095087 
Odds ratio (effect size)..: 0.98 
Lower 95% CI..............: 0.813 
Upper 95% CI..............: 1.18 
T-value...................: -0.215704 
P-value...................: 0.8295729 
R^2.......................: 0.021763 
Adjusted r^2..............: -0.009793 
Sample size of AE DB......: 2423 
Sample size of model......: 129 
Missing data %............: 94.67602 

- processing IL10_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ Age, data = currentDF)

Coefficients:
(Intercept)          Age  
   -1.17636      0.01715  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-1.91227 -0.53237  0.03727  0.50957  2.25940 

Coefficients:
                    Estimate Std. Error t value Pr(>|t|)
(Intercept)        100.75126  203.28517   0.496    0.621
currentDF[, TRAIT]  -0.09617    0.09151  -1.051    0.296
Age                  0.01518    0.01003   1.514    0.133
Gendermale           0.05430    0.20690   0.262    0.794
ORdate_year         -0.05084    0.10150  -0.501    0.618

Residual standard error: 0.8517 on 99 degrees of freedom
Multiple R-squared:  0.04456,   Adjusted R-squared:  0.005956 
F-statistic: 1.154 on 4 and 99 DF,  p-value: 0.3357

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_plasma_olink_rank ' with ' IL10_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_plasma_olink_rank 
Trait/outcome.............: IL10_rank 
Effect size...............: -0.096166 
Standard error............: 0.091509 
Odds ratio (effect size)..: 0.908 
Lower 95% CI..............: 0.759 
Upper 95% CI..............: 1.087 
T-value...................: -1.050892 
P-value...................: 0.2958665 
R^2.......................: 0.044559 
Adjusted r^2..............: 0.005956 
Sample size of AE DB......: 2423 
Sample size of model......: 104 
Missing data %............: 95.7078 

- processing IL12_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT], data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]  
           0.04891            -0.16078  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-1.82530 -0.46872 -0.03063  0.52189  2.35803 

Coefficients:
                    Estimate Std. Error t value Pr(>|t|)
(Intercept)        -80.22379  204.07213  -0.393    0.695
currentDF[, TRAIT]  -0.13077    0.09636  -1.357    0.178
Age                  0.01076    0.01048   1.027    0.307
Gendermale           0.09355    0.20304   0.461    0.646
ORdate_year          0.03967    0.10189   0.389    0.698

Residual standard error: 0.8882 on 101 degrees of freedom
Multiple R-squared:  0.04647,   Adjusted R-squared:  0.008702 
F-statistic:  1.23 on 4 and 101 DF,  p-value: 0.3027

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_plasma_olink_rank ' with ' IL12_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_plasma_olink_rank 
Trait/outcome.............: IL12_rank 
Effect size...............: -0.130774 
Standard error............: 0.096362 
Odds ratio (effect size)..: 0.877 
Lower 95% CI..............: 0.726 
Upper 95% CI..............: 1.06 
T-value...................: -1.357114 
P-value...................: 0.17777 
R^2.......................: 0.046465 
Adjusted r^2..............: 0.008702 
Sample size of AE DB......: 2423 
Sample size of model......: 106 
Missing data %............: 95.62526 

- processing IL13_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ Age, data = currentDF)

Coefficients:
(Intercept)          Age  
    -0.9757       0.0158  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-1.93265 -0.56828 -0.03252  0.53971  2.15892 

Coefficients:
                     Estimate Std. Error t value Pr(>|t|)
(Intercept)        -86.087160 133.757602  -0.644    0.521
currentDF[, TRAIT]  -0.003773   0.081367  -0.046    0.963
Age                  0.014494   0.008972   1.616    0.108
Gendermale           0.122504   0.169044   0.725    0.470
ORdate_year          0.042476   0.066752   0.636    0.526

Residual standard error: 0.9191 on 141 degrees of freedom
Multiple R-squared:  0.02831,   Adjusted R-squared:  0.0007401 
F-statistic: 1.027 on 4 and 141 DF,  p-value: 0.3957

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_plasma_olink_rank ' with ' IL13_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_plasma_olink_rank 
Trait/outcome.............: IL13_rank 
Effect size...............: -0.003773 
Standard error............: 0.081367 
Odds ratio (effect size)..: 0.996 
Lower 95% CI..............: 0.849 
Upper 95% CI..............: 1.168 
T-value...................: -0.046365 
P-value...................: 0.9630847 
R^2.......................: 0.028306 
Adjusted r^2..............: 0.00074 
Sample size of AE DB......: 2423 
Sample size of model......: 146 
Missing data %............: 93.97441 

- processing IL21_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ Age, data = currentDF)

Coefficients:
(Intercept)          Age  
    -0.9757       0.0158  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-1.95077 -0.58542 -0.03054  0.55228  2.16410 

Coefficients:
                    Estimate Std. Error t value Pr(>|t|)
(Intercept)        -87.09748  133.81592  -0.651    0.516
currentDF[, TRAIT]   0.01675    0.07877   0.213    0.832
Age                  0.01478    0.00897   1.648    0.102
Gendermale           0.12003    0.16908   0.710    0.479
ORdate_year          0.04297    0.06678   0.643    0.521

Residual standard error: 0.9189 on 141 degrees of freedom
Multiple R-squared:  0.0286,    Adjusted R-squared:  0.001045 
F-statistic: 1.038 on 4 and 141 DF,  p-value: 0.3899

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_plasma_olink_rank ' with ' IL21_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_plasma_olink_rank 
Trait/outcome.............: IL21_rank 
Effect size...............: 0.016751 
Standard error............: 0.07877 
Odds ratio (effect size)..: 1.017 
Lower 95% CI..............: 0.871 
Upper 95% CI..............: 1.187 
T-value...................: 0.212662 
P-value...................: 0.831898 
R^2.......................: 0.028603 
Adjusted r^2..............: 0.001045 
Sample size of AE DB......: 2423 
Sample size of model......: 146 
Missing data %............: 93.97441 

- processing INFG_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age, 
    data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]                 Age  
          -0.81875            -0.18167             0.01254  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-1.87020 -0.45372 -0.02656  0.55347  2.34872 

Coefficients:
                     Estimate Std. Error t value Pr(>|t|)  
(Intercept)         69.977349 185.972462   0.376   0.7074  
currentDF[, TRAIT]  -0.193637   0.099292  -1.950   0.0537 .
Age                  0.011590   0.009197   1.260   0.2103  
Gendermale           0.096676   0.189724   0.510   0.6114  
ORdate_year         -0.035341   0.092829  -0.381   0.7042  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.8616 on 108 degrees of freedom
Multiple R-squared:  0.06484,   Adjusted R-squared:  0.03021 
F-statistic: 1.872 on 4 and 108 DF,  p-value: 0.1205

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_plasma_olink_rank ' with ' INFG_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_plasma_olink_rank 
Trait/outcome.............: INFG_rank 
Effect size...............: -0.193637 
Standard error............: 0.099292 
Odds ratio (effect size)..: 0.824 
Lower 95% CI..............: 0.678 
Upper 95% CI..............: 1.001 
T-value...................: -1.950178 
P-value...................: 0.05374676 
R^2.......................: 0.064845 
Adjusted r^2..............: 0.030209 
Sample size of AE DB......: 2423 
Sample size of model......: 113 
Missing data %............: 95.33636 

- processing TNFA_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ Age, data = currentDF)

Coefficients:
(Intercept)          Age  
   -0.84412      0.01299  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-1.94671 -0.49633  0.02807  0.47166  2.31411 

Coefficients:
                     Estimate Std. Error t value Pr(>|t|)
(Intercept)         91.268676 181.079974   0.504    0.615
currentDF[, TRAIT]  -0.135081   0.096048  -1.406    0.163
Age                  0.014083   0.009820   1.434    0.155
Gendermale          -0.002892   0.194439  -0.015    0.988
ORdate_year         -0.046018   0.090452  -0.509    0.612

Residual standard error: 0.8512 on 102 degrees of freedom
Multiple R-squared:  0.03893,   Adjusted R-squared:  0.001243 
F-statistic: 1.033 on 4 and 102 DF,  p-value: 0.394

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_plasma_olink_rank ' with ' TNFA_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_plasma_olink_rank 
Trait/outcome.............: TNFA_rank 
Effect size...............: -0.135081 
Standard error............: 0.096048 
Odds ratio (effect size)..: 0.874 
Lower 95% CI..............: 0.724 
Upper 95% CI..............: 1.055 
T-value...................: -1.406393 
P-value...................: 0.1626467 
R^2.......................: 0.038932 
Adjusted r^2..............: 0.001243 
Sample size of AE DB......: 2423 
Sample size of model......: 107 
Missing data %............: 95.58399 

- processing MIF_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ Age, data = currentDF)

Coefficients:
(Intercept)          Age  
    -0.9757       0.0158  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-1.93552 -0.56964 -0.02567  0.56116  2.23417 

Coefficients:
                     Estimate Std. Error t value Pr(>|t|)
(Intercept)        -1.171e+02  1.471e+02  -0.796    0.427
currentDF[, TRAIT]  4.489e-02  8.848e-02   0.507    0.613
Age                 1.473e-02  8.903e-03   1.655    0.100
Gendermale          1.132e-01  1.696e-01   0.667    0.506
ORdate_year         5.796e-02  7.338e-02   0.790    0.431

Residual standard error: 0.9183 on 141 degrees of freedom
Multiple R-squared:  0.03006,   Adjusted R-squared:  0.002546 
F-statistic: 1.093 on 4 and 141 DF,  p-value: 0.3627

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_plasma_olink_rank ' with ' MIF_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_plasma_olink_rank 
Trait/outcome.............: MIF_rank 
Effect size...............: 0.044889 
Standard error............: 0.088477 
Odds ratio (effect size)..: 1.046 
Lower 95% CI..............: 0.879 
Upper 95% CI..............: 1.244 
T-value...................: 0.507352 
P-value...................: 0.6127002 
R^2.......................: 0.030062 
Adjusted r^2..............: 0.002546 
Sample size of AE DB......: 2423 
Sample size of model......: 146 
Missing data %............: 93.97441 

- processing MCP1_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ Age, data = currentDF)

Coefficients:
(Intercept)          Age  
   -0.89713      0.01467  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-1.92614 -0.58024 -0.02805  0.54201  2.07630 

Coefficients:
                     Estimate Std. Error t value Pr(>|t|)
(Intercept)        -45.588589 137.883019  -0.331    0.741
currentDF[, TRAIT]  -0.078501   0.078682  -0.998    0.320
Age                  0.013586   0.008911   1.525    0.130
Gendermale           0.090832   0.170115   0.534    0.594
ORdate_year          0.022311   0.068810   0.324    0.746

Residual standard error: 0.9099 on 138 degrees of freedom
Multiple R-squared:  0.03021,   Adjusted R-squared:  0.002102 
F-statistic: 1.075 on 4 and 138 DF,  p-value: 0.3714

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_plasma_olink_rank ' with ' MCP1_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_plasma_olink_rank 
Trait/outcome.............: MCP1_rank 
Effect size...............: -0.078501 
Standard error............: 0.078682 
Odds ratio (effect size)..: 0.925 
Lower 95% CI..............: 0.792 
Upper 95% CI..............: 1.079 
T-value...................: -0.997697 
P-value...................: 0.3201726 
R^2.......................: 0.030212 
Adjusted r^2..............: 0.002102 
Sample size of AE DB......: 2423 
Sample size of model......: 143 
Missing data %............: 94.09822 

- processing MIP1a_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ Age, data = currentDF)

Coefficients:
(Intercept)          Age  
   -0.83790      0.01399  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-1.95848 -0.60412 -0.04601  0.56454  2.14989 

Coefficients:
                     Estimate Std. Error t value Pr(>|t|)
(Intercept)        -93.275622 137.003149  -0.681    0.497
currentDF[, TRAIT]   0.031257   0.088128   0.355    0.723
Age                  0.013330   0.009685   1.376    0.171
Gendermale           0.110494   0.181567   0.609    0.544
ORdate_year          0.046115   0.068363   0.675    0.501

Residual standard error: 0.9273 on 125 degrees of freedom
Multiple R-squared:  0.02401,   Adjusted R-squared:  -0.007225 
F-statistic: 0.7687 on 4 and 125 DF,  p-value: 0.5476

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_plasma_olink_rank ' with ' MIP1a_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_plasma_olink_rank 
Trait/outcome.............: MIP1a_rank 
Effect size...............: 0.031257 
Standard error............: 0.088128 
Odds ratio (effect size)..: 1.032 
Lower 95% CI..............: 0.868 
Upper 95% CI..............: 1.226 
T-value...................: 0.354674 
P-value...................: 0.7234312 
R^2.......................: 0.024007 
Adjusted r^2..............: -0.007225 
Sample size of AE DB......: 2423 
Sample size of model......: 130 
Missing data %............: 94.63475 

- processing RANTES_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ Age, data = currentDF)

Coefficients:
(Intercept)          Age  
   -0.98348      0.01604  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-2.01523 -0.57039 -0.02453  0.56805  2.12679 

Coefficients:
                     Estimate Std. Error t value Pr(>|t|)  
(Intercept)        -1.045e+02  1.516e+02  -0.690   0.4916  
currentDF[, TRAIT]  4.052e-02  8.985e-02   0.451   0.6527  
Age                 1.566e-02  8.906e-03   1.759   0.0808 .
Gendermale          7.603e-02  1.696e-01   0.448   0.6547  
ORdate_year         5.166e-02  7.563e-02   0.683   0.4957  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9135 on 139 degrees of freedom
Multiple R-squared:  0.02827,   Adjusted R-squared:  0.0003107 
F-statistic: 1.011 on 4 and 139 DF,  p-value: 0.4039

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_plasma_olink_rank ' with ' RANTES_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_plasma_olink_rank 
Trait/outcome.............: RANTES_rank 
Effect size...............: 0.040516 
Standard error............: 0.089846 
Odds ratio (effect size)..: 1.041 
Lower 95% CI..............: 0.873 
Upper 95% CI..............: 1.242 
T-value...................: 0.450953 
P-value...................: 0.6527264 
R^2.......................: 0.028274 
Adjusted r^2..............: 0.000311 
Sample size of AE DB......: 2423 
Sample size of model......: 144 
Missing data %............: 94.05695 

- processing MIG_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ Age, data = currentDF)

Coefficients:
(Intercept)          Age  
   -0.99133      0.01608  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-1.95399 -0.58629 -0.04939  0.53996  2.15950 

Coefficients:
                     Estimate Std. Error t value Pr(>|t|)  
(Intercept)        -87.160521 138.078970  -0.631   0.5289  
currentDF[, TRAIT]   0.013616   0.082156   0.166   0.8686  
Age                  0.015029   0.008992   1.671   0.0969 .
Gendermale           0.126103   0.169209   0.745   0.4574  
ORdate_year          0.042996   0.068917   0.624   0.5337  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9142 on 138 degrees of freedom
Multiple R-squared:  0.0309,    Adjusted R-squared:  0.002807 
F-statistic:   1.1 on 4 and 138 DF,  p-value: 0.3592

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_plasma_olink_rank ' with ' MIG_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_plasma_olink_rank 
Trait/outcome.............: MIG_rank 
Effect size...............: 0.013616 
Standard error............: 0.082156 
Odds ratio (effect size)..: 1.014 
Lower 95% CI..............: 0.863 
Upper 95% CI..............: 1.191 
T-value...................: 0.165736 
P-value...................: 0.8686069 
R^2.......................: 0.030897 
Adjusted r^2..............: 0.002807 
Sample size of AE DB......: 2423 
Sample size of model......: 143 
Missing data %............: 94.09822 

- processing IP10_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ Age, data = currentDF)

Coefficients:
(Intercept)          Age  
   -0.94460      0.01541  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-1.8231 -0.6151 -0.0713  0.5332  2.0075 

Coefficients:
                     Estimate Std. Error t value Pr(>|t|)
(Intercept)        -41.584262 132.129013  -0.315    0.753
currentDF[, TRAIT]  -0.105148   0.088400  -1.189    0.236
Age                  0.012380   0.009309   1.330    0.186
Gendermale           0.138027   0.172064   0.802    0.424
ORdate_year          0.020328   0.065933   0.308    0.758

Residual standard error: 0.8917 on 129 degrees of freedom
Multiple R-squared:  0.03778,   Adjusted R-squared:  0.007941 
F-statistic: 1.266 on 4 and 129 DF,  p-value: 0.2867

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_plasma_olink_rank ' with ' IP10_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_plasma_olink_rank 
Trait/outcome.............: IP10_rank 
Effect size...............: -0.105148 
Standard error............: 0.0884 
Odds ratio (effect size)..: 0.9 
Lower 95% CI..............: 0.757 
Upper 95% CI..............: 1.07 
T-value...................: -1.189457 
P-value...................: 0.2364446 
R^2.......................: 0.037777 
Adjusted r^2..............: 0.007941 
Sample size of AE DB......: 2423 
Sample size of model......: 134 
Missing data %............: 94.46967 

- processing Eotaxin1_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ Age, data = currentDF)

Coefficients:
(Intercept)          Age  
    -0.9757       0.0158  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-1.99388 -0.58596 -0.00204  0.57674  2.12689 

Coefficients:
                     Estimate Std. Error t value Pr(>|t|)  
(Intercept)        -81.644134 133.691722  -0.611   0.5424  
currentDF[, TRAIT]   0.050495   0.077292   0.653   0.5146  
Age                  0.015216   0.008949   1.700   0.0913 .
Gendermale           0.112468   0.169219   0.665   0.5074  
ORdate_year          0.040242   0.066720   0.603   0.5474  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9177 on 141 degrees of freedom
Multiple R-squared:  0.03122,   Adjusted R-squared:  0.003741 
F-statistic: 1.136 on 4 and 141 DF,  p-value: 0.342

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_plasma_olink_rank ' with ' Eotaxin1_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_plasma_olink_rank 
Trait/outcome.............: Eotaxin1_rank 
Effect size...............: 0.050495 
Standard error............: 0.077292 
Odds ratio (effect size)..: 1.052 
Lower 95% CI..............: 0.904 
Upper 95% CI..............: 1.224 
T-value...................: 0.653303 
P-value...................: 0.5146247 
R^2.......................: 0.031224 
Adjusted r^2..............: 0.003741 
Sample size of AE DB......: 2423 
Sample size of model......: 146 
Missing data %............: 93.97441 

- processing TARC_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ Age, data = currentDF)

Coefficients:
(Intercept)          Age  
   -1.02529      0.01661  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-1.97835 -0.61013 -0.07078  0.51238  2.18088 

Coefficients:
                     Estimate Std. Error t value Pr(>|t|)  
(Intercept)        -1.717e+02  1.668e+02  -1.029   0.3054  
currentDF[, TRAIT]  8.062e-02  9.722e-02   0.829   0.4087  
Age                 1.719e-02  9.547e-03   1.800   0.0744 .
Gendermale          9.455e-02  1.832e-01   0.516   0.6068  
ORdate_year         8.510e-02  8.320e-02   1.023   0.3085  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9151 on 118 degrees of freedom
Multiple R-squared:  0.03897,   Adjusted R-squared:  0.006396 
F-statistic: 1.196 on 4 and 118 DF,  p-value: 0.3161

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_plasma_olink_rank ' with ' TARC_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_plasma_olink_rank 
Trait/outcome.............: TARC_rank 
Effect size...............: 0.080616 
Standard error............: 0.097221 
Odds ratio (effect size)..: 1.084 
Lower 95% CI..............: 0.896 
Upper 95% CI..............: 1.311 
T-value...................: 0.829208 
P-value...................: 0.4086608 
R^2.......................: 0.038973 
Adjusted r^2..............: 0.006396 
Sample size of AE DB......: 2423 
Sample size of model......: 123 
Missing data %............: 94.92365 

- processing PARC_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ Age, data = currentDF)

Coefficients:
(Intercept)          Age  
    -0.9757       0.0158  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-1.92628 -0.57922 -0.02765  0.54149  2.15029 

Coefficients:
                     Estimate Std. Error t value Pr(>|t|)
(Intercept)        -81.424710 139.057611  -0.586    0.559
currentDF[, TRAIT]  -0.010309   0.086714  -0.119    0.906
Age                  0.014569   0.008905   1.636    0.104
Gendermale           0.121662   0.168863   0.720    0.472
ORdate_year          0.040149   0.069395   0.579    0.564

Residual standard error: 0.919 on 141 degrees of freedom
Multiple R-squared:  0.02839,   Adjusted R-squared:  0.000825 
F-statistic:  1.03 on 4 and 141 DF,  p-value: 0.3941

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_plasma_olink_rank ' with ' PARC_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_plasma_olink_rank 
Trait/outcome.............: PARC_rank 
Effect size...............: -0.010309 
Standard error............: 0.086714 
Odds ratio (effect size)..: 0.99 
Lower 95% CI..............: 0.835 
Upper 95% CI..............: 1.173 
T-value...................: -0.11889 
P-value...................: 0.9055319 
R^2.......................: 0.028388 
Adjusted r^2..............: 0.000825 
Sample size of AE DB......: 2423 
Sample size of model......: 146 
Missing data %............: 93.97441 

- processing MDC_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ Age, data = currentDF)

Coefficients:
(Intercept)          Age  
   -0.87789      0.01455  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-1.89502 -0.56030 -0.06066  0.55027  2.17650 

Coefficients:
                     Estimate Std. Error t value Pr(>|t|)
(Intercept)        -78.260055 149.602863  -0.523    0.602
currentDF[, TRAIT]  -0.017447   0.088505  -0.197    0.844
Age                  0.013075   0.009337   1.400    0.164
Gendermale           0.116296   0.179872   0.647    0.519
ORdate_year          0.038627   0.074653   0.517    0.606

Residual standard error: 0.924 on 126 degrees of freedom
Multiple R-squared:  0.02608,   Adjusted R-squared:  -0.004842 
F-statistic: 0.8434 on 4 and 126 DF,  p-value: 0.5002

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_plasma_olink_rank ' with ' MDC_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_plasma_olink_rank 
Trait/outcome.............: MDC_rank 
Effect size...............: -0.017447 
Standard error............: 0.088505 
Odds ratio (effect size)..: 0.983 
Lower 95% CI..............: 0.826 
Upper 95% CI..............: 1.169 
T-value...................: -0.197132 
P-value...................: 0.8440421 
R^2.......................: 0.026076 
Adjusted r^2..............: -0.004842 
Sample size of AE DB......: 2423 
Sample size of model......: 131 
Missing data %............: 94.59348 

- processing OPG_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ Age, data = currentDF)

Coefficients:
(Intercept)          Age  
    -0.9757       0.0158  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-1.9582 -0.5655 -0.0575  0.5314  2.0616 

Coefficients:
                     Estimate Std. Error t value Pr(>|t|)
(Intercept)        -92.963897 133.298364  -0.697    0.487
currentDF[, TRAIT]  -0.087945   0.079177  -1.111    0.269
Age                  0.013841   0.008887   1.557    0.122
Gendermale           0.134212   0.168449   0.797    0.427
ORdate_year          0.045927   0.066523   0.690    0.491

Residual standard error: 0.9151 on 141 degrees of freedom
Multiple R-squared:  0.03672,   Adjusted R-squared:  0.009392 
F-statistic: 1.344 on 4 and 141 DF,  p-value: 0.2567

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_plasma_olink_rank ' with ' OPG_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_plasma_olink_rank 
Trait/outcome.............: OPG_rank 
Effect size...............: -0.087945 
Standard error............: 0.079177 
Odds ratio (effect size)..: 0.916 
Lower 95% CI..............: 0.784 
Upper 95% CI..............: 1.07 
T-value...................: -1.11073 
P-value...................: 0.2685751 
R^2.......................: 0.03672 
Adjusted r^2..............: 0.009392 
Sample size of AE DB......: 2423 
Sample size of model......: 146 
Missing data %............: 93.97441 

- processing sICAM1_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ Age, data = currentDF)

Coefficients:
(Intercept)          Age  
    -0.9757       0.0158  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-1.94414 -0.57229 -0.03489  0.55021  2.16904 

Coefficients:
                     Estimate Std. Error t value Pr(>|t|)
(Intercept)        -90.136638 142.199328  -0.634    0.527
currentDF[, TRAIT]   0.007033   0.081408   0.086    0.931
Age                  0.014616   0.008941   1.635    0.104
Gendermale           0.122846   0.169041   0.727    0.469
ORdate_year          0.044493   0.070953   0.627    0.532

Residual standard error: 0.9191 on 141 degrees of freedom
Multiple R-squared:  0.02834,   Adjusted R-squared:  0.0007777 
F-statistic: 1.028 on 4 and 141 DF,  p-value: 0.3949

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_plasma_olink_rank ' with ' sICAM1_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_plasma_olink_rank 
Trait/outcome.............: sICAM1_rank 
Effect size...............: 0.007033 
Standard error............: 0.081408 
Odds ratio (effect size)..: 1.007 
Lower 95% CI..............: 0.859 
Upper 95% CI..............: 1.181 
T-value...................: 0.086389 
P-value...................: 0.9312801 
R^2.......................: 0.028342 
Adjusted r^2..............: 0.000778 
Sample size of AE DB......: 2423 
Sample size of model......: 146 
Missing data %............: 93.97441 

- processing VEGFA_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age, 
    data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]                 Age  
          -1.38843             0.14101             0.02083  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-1.90531 -0.49521 -0.06886  0.55662  2.11034 

Coefficients:
                     Estimate Std. Error t value Pr(>|t|)  
(Intercept)        -69.155745 155.557252  -0.445   0.6574  
currentDF[, TRAIT]   0.141825   0.095916   1.479   0.1419  
Age                  0.019010   0.008747   2.173   0.0318 *
Gendermale           0.222823   0.170217   1.309   0.1931  
ORdate_year          0.033805   0.077639   0.435   0.6641  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.8513 on 118 degrees of freedom
Multiple R-squared:  0.08103,   Adjusted R-squared:  0.04988 
F-statistic: 2.601 on 4 and 118 DF,  p-value: 0.03951

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_plasma_olink_rank ' with ' VEGFA_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_plasma_olink_rank 
Trait/outcome.............: VEGFA_rank 
Effect size...............: 0.141825 
Standard error............: 0.095916 
Odds ratio (effect size)..: 1.152 
Lower 95% CI..............: 0.955 
Upper 95% CI..............: 1.391 
T-value...................: 1.47864 
P-value...................: 0.141901 
R^2.......................: 0.081031 
Adjusted r^2..............: 0.04988 
Sample size of AE DB......: 2423 
Sample size of model......: 123 
Missing data %............: 94.92365 

- processing TGFB_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ Age, data = currentDF)

Coefficients:
(Intercept)          Age  
   -1.08985      0.01801  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-2.06707 -0.56340 -0.00328  0.50644  2.02584 

Coefficients:
                     Estimate Std. Error t value Pr(>|t|)  
(Intercept)        -94.194595 134.147807  -0.702   0.4837  
currentDF[, TRAIT]   0.075710   0.080572   0.940   0.3490  
Age                  0.016000   0.008837   1.810   0.0724 .
Gendermale           0.166370   0.166292   1.000   0.3188  
ORdate_year          0.046473   0.066949   0.694   0.4887  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9166 on 141 degrees of freedom
Multiple R-squared:  0.04313,   Adjusted R-squared:  0.01599 
F-statistic: 1.589 on 4 and 141 DF,  p-value: 0.1805

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_plasma_olink_rank ' with ' TGFB_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_plasma_olink_rank 
Trait/outcome.............: TGFB_rank 
Effect size...............: 0.07571 
Standard error............: 0.080572 
Odds ratio (effect size)..: 1.079 
Lower 95% CI..............: 0.921 
Upper 95% CI..............: 1.263 
T-value...................: 0.939664 
P-value...................: 0.3489971 
R^2.......................: 0.043134 
Adjusted r^2..............: 0.015988 
Sample size of AE DB......: 2423 
Sample size of model......: 146 
Missing data %............: 93.97441 

- processing MMP2_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age, 
    data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]                 Age  
          -0.77135            -0.14147             0.01298  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-2.11663 -0.57160 -0.04116  0.60758  2.03249 

Coefficients:
                     Estimate Std. Error t value Pr(>|t|)  
(Intercept)          3.431478 144.523391   0.024   0.9811  
currentDF[, TRAIT]  -0.134759   0.076446  -1.763   0.0801 .
Age                  0.011648   0.009083   1.282   0.2018  
Gendermale           0.114498   0.171156   0.669   0.5046  
ORdate_year         -0.002093   0.072145  -0.029   0.9769  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9035 on 138 degrees of freedom
Multiple R-squared:  0.04307,   Adjusted R-squared:  0.01533 
F-statistic: 1.553 on 4 and 138 DF,  p-value: 0.1904

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_plasma_olink_rank ' with ' MMP2_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_plasma_olink_rank 
Trait/outcome.............: MMP2_rank 
Effect size...............: -0.134759 
Standard error............: 0.076446 
Odds ratio (effect size)..: 0.874 
Lower 95% CI..............: 0.752 
Upper 95% CI..............: 1.015 
T-value...................: -1.762815 
P-value...................: 0.08014529 
R^2.......................: 0.043068 
Adjusted r^2..............: 0.015331 
Sample size of AE DB......: 2423 
Sample size of model......: 143 
Missing data %............: 94.09822 

- processing MMP8_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ Age, data = currentDF)

Coefficients:
(Intercept)          Age  
   -0.79654      0.01314  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-1.97582 -0.58979 -0.03655  0.56989  2.07988 

Coefficients:
                     Estimate Std. Error t value Pr(>|t|)
(Intercept)        -31.871929 144.530754  -0.221    0.826
currentDF[, TRAIT]   0.075997   0.076600   0.992    0.323
Age                  0.010959   0.009151   1.198    0.233
Gendermale           0.131125   0.172836   0.759    0.449
ORdate_year          0.015540   0.072150   0.215    0.830

Residual standard error: 0.9103 on 138 degrees of freedom
Multiple R-squared:  0.02845,   Adjusted R-squared:  0.0002887 
F-statistic:  1.01 on 4 and 138 DF,  p-value: 0.4044

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_plasma_olink_rank ' with ' MMP8_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_plasma_olink_rank 
Trait/outcome.............: MMP8_rank 
Effect size...............: 0.075997 
Standard error............: 0.0766 
Odds ratio (effect size)..: 1.079 
Lower 95% CI..............: 0.929 
Upper 95% CI..............: 1.254 
T-value...................: 0.992121 
P-value...................: 0.3228749 
R^2.......................: 0.02845 
Adjusted r^2..............: 0.000289 
Sample size of AE DB......: 2423 
Sample size of model......: 143 
Missing data %............: 94.09822 

- processing MMP9_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ Age, data = currentDF)

Coefficients:
(Intercept)          Age  
   -0.79654      0.01314  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-1.9490 -0.6007 -0.0525  0.5394  2.0989 

Coefficients:
                     Estimate Std. Error t value Pr(>|t|)
(Intercept)        -23.936870 147.558703  -0.162    0.871
currentDF[, TRAIT]  -0.011912   0.074294  -0.160    0.873
Age                  0.011324   0.009222   1.228    0.222
Gendermale           0.159957   0.171423   0.933    0.352
ORdate_year          0.011555   0.073666   0.157    0.876

Residual standard error: 0.9135 on 138 degrees of freedom
Multiple R-squared:  0.0217,    Adjusted R-squared:  -0.006654 
F-statistic: 0.7653 on 4 and 138 DF,  p-value: 0.5495

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_plasma_olink_rank ' with ' MMP9_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_plasma_olink_rank 
Trait/outcome.............: MMP9_rank 
Effect size...............: -0.011912 
Standard error............: 0.074294 
Odds ratio (effect size)..: 0.988 
Lower 95% CI..............: 0.854 
Upper 95% CI..............: 1.143 
T-value...................: -0.16033 
P-value...................: 0.8728556 
R^2.......................: 0.021702 
Adjusted r^2..............: -0.006654 
Sample size of AE DB......: 2423 
Sample size of model......: 143 
Missing data %............: 94.09822 
cat("Edit the column names...\n")
Edit the column names...
colnames(GLM.results) = c("Dataset", "Predictor", "Trait",
                          "Beta", "s.e.m.",
                          "OR", "low95CI", "up95CI",
                          "T-value", "P-value", "r^2", "r^2_adj", "AE_N", "Model_N", "Perc_Miss")

cat("Correct the variable types...\n")
Correct the variable types...
GLM.results$Beta <- as.numeric(GLM.results$Beta)
GLM.results$s.e.m. <- as.numeric(GLM.results$s.e.m.)
GLM.results$OR <- as.numeric(GLM.results$OR)
GLM.results$low95CI <- as.numeric(GLM.results$low95CI)
GLM.results$up95CI <- as.numeric(GLM.results$up95CI)
GLM.results$`T-value` <- as.numeric(GLM.results$`T-value`)
GLM.results$`P-value` <- as.numeric(GLM.results$`P-value`)
GLM.results$`r^2` <- as.numeric(GLM.results$`r^2`)
GLM.results$`r^2_adj` <- as.numeric(GLM.results$`r^2_adj`)
GLM.results$`AE_N` <- as.numeric(GLM.results$`AE_N`)
GLM.results$`Model_N` <- as.numeric(GLM.results$`Model_N`)
GLM.results$`Perc_Miss` <- as.numeric(GLM.results$`Perc_Miss`)
DT::datatable(GLM.results)


# Save the data
cat("Writing results to Excel-file...\n")
Writing results to Excel-file...
### Univariate
library(openxlsx)
write.xlsx(GLM.results,
           file = paste0(OUT_loc, "/",Today,".AEDB.CEA.Con.Uni.MCP1_Plaque.Cytokines_Plaques.RANK.MODEL1.xlsx"),
           row.names = FALSE, col.names = TRUE, sheetName = "Con.Uni.PlaquePheno")
# Removing intermediates
cat("Removing intermediate files...\n")
Removing intermediate files...
rm(TRAIT, trait, currentDF, GLM.results, GLM.results.TEMP, fit, model_step)

Model 2

In this model we correct for Age, Gender, year of surgery, Hypertension status, Diabetes status, current smoker status, lipid-lowering drugs (LLDs), antiplatelet medication, eGFR (MDRD), BMI, MedHx_CVD (combination of CAD history, stroke history, and peripheral interventions), and stenosis.

Here we use the inverse-rank normalized data - visually this is more normally distributed.

Analysis of plaque cytokines as a function of plasma/plaque MCP1 levels.


GLM.results <- data.frame(matrix(NA, ncol = 15, nrow = 0))
cat("Running linear regression...\n")
Running linear regression...
for (protein in 1:length(TRAITS.PROTEIN.RANK)) {
  PROTEIN = TRAITS.PROTEIN.RANK[protein]
  cat(paste0("\nAnalysis of ",PROTEIN,".\n"))
  for (trait in 1:length(proteins_of_interest_rank)) {
    TRAIT = proteins_of_interest_rank[trait]
    cat(paste0("\n- processing ",TRAIT,"\n\n"))
    currentDF <- as.data.frame(AEDB.CEA %>%
      dplyr::select(., PROTEIN, TRAIT, COVARIATES_M2) %>%
      filter(complete.cases(.))) %>%
      filter_if(~is.numeric(.), all_vars(!is.infinite(.)))
    # for debug
    # print(DT::datatable(currentDF))
    # print(nrow(currentDF))
    # print(str(currentDF))
    ### univariate
    fit <- lm(currentDF[,PROTEIN] ~ currentDF[,TRAIT] + Age + Gender + ORdate_year + 
                Hypertension.composite + DiabetesStatus + SmokerStatus + 
                Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + BMI + 
                MedHx_CVD + stenose, 
              data = currentDF)
    model_step <- stepAIC(fit, direction = "both", trace = FALSE)
    print(model_step)
    print(summary(fit))
    
    GLM.results.TEMP <- data.frame(matrix(NA, ncol = 15, nrow = 0))
    GLM.results.TEMP[1,] = GLM.CON(fit, "AEDB.CEA", PROTEIN, TRAIT, verbose = TRUE)
    GLM.results = rbind(GLM.results, GLM.results.TEMP)
  }
}

Analysis of MCP1_pg_ug_2015_rank.

- processing IL2_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ ORdate_year + SmokerStatus + 
    Med.Statin.LLD, data = currentDF)

Coefficients:
             (Intercept)               ORdate_year     SmokerStatusEx-smoker  SmokerStatusNever smoked         Med.Statin.LLDyes  
                615.5007                   -0.3072                   -0.1525                    0.3381                   -0.2260  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-2.7956 -0.6788 -0.1225  0.4649  3.0289 

Coefficients:
                            Estimate Std. Error t value Pr(>|t|)    
(Intercept)               613.642400 125.508728   4.889 1.67e-06 ***
currentDF[, TRAIT]          0.027676   0.059364   0.466   0.6414    
Age                         0.002251   0.007366   0.306   0.7602    
Gendermale                  0.145360   0.127558   1.140   0.2554    
ORdate_year                -0.306641   0.062622  -4.897 1.61e-06 ***
Hypertension.compositeyes  -0.203449   0.175004  -1.163   0.2460    
DiabetesStatusDiabetes      0.070787   0.146730   0.482   0.6299    
SmokerStatusEx-smoker      -0.151713   0.130165  -1.166   0.2447    
SmokerStatusNever smoked    0.434656   0.205554   2.115   0.0353 *  
Med.Statin.LLDyes          -0.223402   0.130177  -1.716   0.0872 .  
Med.all.antiplateletyes    -0.234830   0.215199  -1.091   0.2761    
GFR_MDRD                    0.001889   0.003323   0.568   0.5702    
BMI                        -0.009784   0.017485  -0.560   0.5762    
MedHx_CVDyes                0.132967   0.121373   1.096   0.2742    
stenose50-70%               0.348964   1.055309   0.331   0.7411    
stenose70-90%               1.008743   1.007385   1.001   0.3175    
stenose90-99%               0.917999   1.005677   0.913   0.3621    
stenose100% (Occlusion)    -0.103507   1.187441  -0.087   0.9306    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9899 on 295 degrees of freedom
Multiple R-squared:  0.1454,    Adjusted R-squared:  0.09617 
F-statistic: 2.953 on 17 and 295 DF,  p-value: 0.0001019

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' IL2_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank 
Trait/outcome.............: IL2_rank 
Effect size...............: 0.027676 
Standard error............: 0.059364 
Odds ratio (effect size)..: 1.028 
Lower 95% CI..............: 0.915 
Upper 95% CI..............: 1.155 
T-value...................: 0.466211 
P-value...................: 0.6414086 
R^2.......................: 0.145415 
Adjusted r^2..............: 0.096167 
Sample size of AE DB......: 2423 
Sample size of model......: 313 
Missing data %............: 87.08213 

- processing IL4_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ ORdate_year + SmokerStatus + 
    Med.Statin.LLD, data = currentDF)

Coefficients:
             (Intercept)               ORdate_year     SmokerStatusEx-smoker  SmokerStatusNever smoked         Med.Statin.LLDyes  
                621.7351                   -0.3103                   -0.1500                    0.3840                   -0.2509  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-2.9222 -0.6884 -0.1104  0.5382  2.9604 

Coefficients:
                            Estimate Std. Error t value Pr(>|t|)    
(Intercept)               610.398429 135.832425   4.494 1.04e-05 ***
currentDF[, TRAIT]         -0.019979   0.062015  -0.322   0.7476    
Age                         0.002203   0.007607   0.290   0.7723    
Gendermale                  0.130571   0.133660   0.977   0.3295    
ORdate_year                -0.304827   0.067808  -4.495 1.03e-05 ***
Hypertension.compositeyes  -0.231430   0.183018  -1.265   0.2071    
DiabetesStatusDiabetes      0.055532   0.150352   0.369   0.7122    
SmokerStatusEx-smoker      -0.146383   0.132127  -1.108   0.2689    
SmokerStatusNever smoked    0.501419   0.216572   2.315   0.0213 *  
Med.Statin.LLDyes          -0.269873   0.135578  -1.991   0.0475 *  
Med.all.antiplateletyes    -0.198656   0.225865  -0.880   0.3799    
GFR_MDRD                    0.002273   0.003613   0.629   0.5298    
BMI                        -0.012140   0.017918  -0.678   0.4986    
MedHx_CVDyes                0.161542   0.125540   1.287   0.1993    
stenose70-90%               0.649646   0.337777   1.923   0.0555 .  
stenose90-99%               0.620298   0.331331   1.872   0.0623 .  
stenose100% (Occlusion)    -0.449094   0.694095  -0.647   0.5182    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9805 on 271 degrees of freedom
Multiple R-squared:  0.1492,    Adjusted R-squared:  0.09897 
F-statistic:  2.97 on 16 and 271 DF,  p-value: 0.0001439

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' IL4_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank 
Trait/outcome.............: IL4_rank 
Effect size...............: -0.019979 
Standard error............: 0.062015 
Odds ratio (effect size)..: 0.98 
Lower 95% CI..............: 0.868 
Upper 95% CI..............: 1.107 
T-value...................: -0.322162 
P-value...................: 0.7475783 
R^2.......................: 0.149199 
Adjusted r^2..............: 0.098967 
Sample size of AE DB......: 2423 
Sample size of model......: 288 
Missing data %............: 88.11391 

- processing IL5_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ ORdate_year + Hypertension.composite + 
    SmokerStatus + Med.Statin.LLD + MedHx_CVD, data = currentDF)

Coefficients:
              (Intercept)                ORdate_year  Hypertension.compositeyes      SmokerStatusEx-smoker   SmokerStatusNever smoked  
                 628.1153                    -0.3134                    -0.2538                    -0.1036                     0.4129  
        Med.Statin.LLDyes               MedHx_CVDyes  
                  -0.2648                     0.1727  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-2.9484 -0.6586 -0.1040  0.5198  2.9219 

Coefficients:
                            Estimate Std. Error t value Pr(>|t|)    
(Intercept)               648.323041 125.147778   5.180 4.15e-07 ***
currentDF[, TRAIT]         -0.011900   0.056752  -0.210   0.8341    
Age                         0.002391   0.007201   0.332   0.7401    
Gendermale                  0.147712   0.124021   1.191   0.2346    
ORdate_year                -0.323721   0.062477  -5.181 4.13e-07 ***
Hypertension.compositeyes  -0.284110   0.168741  -1.684   0.0933 .  
DiabetesStatusDiabetes     -0.031655   0.144049  -0.220   0.8262    
SmokerStatusEx-smoker      -0.128999   0.125172  -1.031   0.3036    
SmokerStatusNever smoked    0.444450   0.207565   2.141   0.0331 *  
Med.Statin.LLDyes          -0.264089   0.126263  -2.092   0.0373 *  
Med.all.antiplateletyes    -0.210315   0.214801  -0.979   0.3283    
GFR_MDRD                    0.001569   0.003293   0.476   0.6342    
BMI                        -0.004812   0.016557  -0.291   0.7715    
MedHx_CVDyes                0.168841   0.117383   1.438   0.1514    
stenose70-90%               0.473300   0.322888   1.466   0.1438    
stenose90-99%               0.440001   0.319818   1.376   0.1699    
stenose100% (Occlusion)    -0.616570   0.674146  -0.915   0.3612    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9548 on 290 degrees of freedom
Multiple R-squared:  0.1557,    Adjusted R-squared:  0.1091 
F-statistic: 3.342 on 16 and 290 DF,  p-value: 2.097e-05

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' IL5_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank 
Trait/outcome.............: IL5_rank 
Effect size...............: -0.0119 
Standard error............: 0.056752 
Odds ratio (effect size)..: 0.988 
Lower 95% CI..............: 0.884 
Upper 95% CI..............: 1.104 
T-value...................: -0.209679 
P-value...................: 0.8340655 
R^2.......................: 0.155698 
Adjusted r^2..............: 0.109115 
Sample size of AE DB......: 2423 
Sample size of model......: 307 
Missing data %............: 87.32976 

- processing IL6_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ ORdate_year + SmokerStatus + 
    Med.Statin.LLD, data = currentDF)

Coefficients:
             (Intercept)               ORdate_year     SmokerStatusEx-smoker  SmokerStatusNever smoked         Med.Statin.LLDyes  
                732.4358                   -0.3655                   -0.1513                    0.3019                   -0.2413  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-2.7273 -0.7096 -0.1205  0.4818  3.1135 

Coefficients:
                            Estimate Std. Error t value Pr(>|t|)    
(Intercept)                7.505e+02  1.256e+02   5.973 6.61e-09 ***
currentDF[, TRAIT]         6.789e-02  5.743e-02   1.182   0.2381    
Age                        6.148e-03  7.691e-03   0.799   0.4247    
Gendermale                 1.534e-01  1.292e-01   1.187   0.2361    
ORdate_year               -3.747e-01  6.267e-02  -5.980 6.39e-09 ***
Hypertension.compositeyes -1.934e-01  1.789e-01  -1.081   0.2805    
DiabetesStatusDiabetes     6.056e-02  1.496e-01   0.405   0.6859    
SmokerStatusEx-smoker     -1.824e-01  1.307e-01  -1.395   0.1639    
SmokerStatusNever smoked   3.598e-01  2.104e-01   1.710   0.0883 .  
Med.Statin.LLDyes         -2.314e-01  1.311e-01  -1.765   0.0785 .  
Med.all.antiplateletyes   -1.279e-01  2.073e-01  -0.617   0.5376    
GFR_MDRD                   6.149e-04  3.459e-03   0.178   0.8590    
BMI                       -5.853e-03  1.642e-02  -0.356   0.7218    
MedHx_CVDyes               1.306e-01  1.217e-01   1.073   0.2843    
stenose50-70%             -3.683e-01  7.862e-01  -0.468   0.6398    
stenose70-90%              2.723e-01  7.332e-01   0.371   0.7107    
stenose90-99%              1.385e-01  7.297e-01   0.190   0.8496    
stenose100% (Occlusion)   -7.306e-01  9.729e-01  -0.751   0.4533    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 1.006 on 298 degrees of freedom
Multiple R-squared:  0.1694,    Adjusted R-squared:  0.122 
F-statistic: 3.576 on 17 and 298 DF,  p-value: 3.668e-06

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' IL6_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank 
Trait/outcome.............: IL6_rank 
Effect size...............: 0.06789 
Standard error............: 0.057431 
Odds ratio (effect size)..: 1.07 
Lower 95% CI..............: 0.956 
Upper 95% CI..............: 1.198 
T-value...................: 1.182126 
P-value...................: 0.2380982 
R^2.......................: 0.169421 
Adjusted r^2..............: 0.122039 
Sample size of AE DB......: 2423 
Sample size of model......: 316 
Missing data %............: 86.95832 

- processing IL8_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + ORdate_year + 
    Med.Statin.LLD, data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]         ORdate_year   Med.Statin.LLDyes  
          875.8182              0.2330             -0.4372             -0.1959  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-3.07802 -0.64942 -0.08319  0.51249  2.91395 

Coefficients:
                            Estimate Std. Error t value Pr(>|t|)    
(Intercept)               867.571807 120.477390   7.201 5.19e-12 ***
currentDF[, TRAIT]          0.219272   0.059164   3.706 0.000252 ***
Age                        -0.007571   0.007468  -1.014 0.311489    
Gendermale                  0.168019   0.128143   1.311 0.190835    
ORdate_year                -0.432529   0.060101  -7.197 5.34e-12 ***
Hypertension.compositeyes  -0.183631   0.176490  -1.040 0.298994    
DiabetesStatusDiabetes      0.131616   0.147382   0.893 0.372584    
SmokerStatusEx-smoker      -0.047867   0.127183  -0.376 0.706924    
SmokerStatusNever smoked    0.373000   0.212502   1.755 0.080272 .  
Med.Statin.LLDyes          -0.237552   0.127035  -1.870 0.062498 .  
Med.all.antiplateletyes     0.024058   0.204007   0.118 0.906208    
GFR_MDRD                   -0.004054   0.003230  -1.255 0.210366    
BMI                        -0.012442   0.015952  -0.780 0.436025    
MedHx_CVDyes                0.113554   0.119771   0.948 0.343872    
stenose50-70%              -0.544387   0.769620  -0.707 0.479922    
stenose70-90%               0.131755   0.710206   0.186 0.852954    
stenose90-99%               0.008387   0.707602   0.012 0.990552    
stenose100% (Occlusion)    -0.148888   0.918575  -0.162 0.871352    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9771 on 289 degrees of freedom
Multiple R-squared:  0.2223,    Adjusted R-squared:  0.1766 
F-statistic:  4.86 on 17 and 289 DF,  p-value: 3.565e-09

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' IL8_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank 
Trait/outcome.............: IL8_rank 
Effect size...............: 0.219272 
Standard error............: 0.059164 
Odds ratio (effect size)..: 1.245 
Lower 95% CI..............: 1.109 
Upper 95% CI..............: 1.398 
T-value...................: 3.706207 
P-value...................: 0.0002521053 
R^2.......................: 0.222327 
Adjusted r^2..............: 0.176582 
Sample size of AE DB......: 2423 
Sample size of model......: 307 
Missing data %............: 87.32976 

- processing IL9_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + ORdate_year + 
    DiabetesStatus + Med.Statin.LLD, data = currentDF)

Coefficients:
           (Intercept)      currentDF[, TRAIT]             ORdate_year  DiabetesStatusDiabetes       Med.Statin.LLDyes  
              601.7963                  0.1150                 -0.3004                  0.2550                 -0.2609  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-2.9338 -0.7449 -0.1154  0.5253  3.2595 

Coefficients:
                            Estimate Std. Error t value Pr(>|t|)    
(Intercept)               616.528181 108.018182   5.708 2.56e-08 ***
currentDF[, TRAIT]          0.101264   0.058603   1.728   0.0849 .  
Age                        -0.008338   0.007412  -1.125   0.2614    
Gendermale                  0.154155   0.127865   1.206   0.2288    
ORdate_year                -0.307003   0.053900  -5.696 2.73e-08 ***
Hypertension.compositeyes  -0.219462   0.176590  -1.243   0.2148    
DiabetesStatusDiabetes      0.279741   0.151375   1.848   0.0655 .  
SmokerStatusEx-smoker      -0.020944   0.130842  -0.160   0.8729    
SmokerStatusNever smoked    0.299785   0.195130   1.536   0.1254    
Med.Statin.LLDyes          -0.276436   0.134660  -2.053   0.0409 *  
Med.all.antiplateletyes    -0.130929   0.214849  -0.609   0.5427    
GFR_MDRD                   -0.003512   0.003213  -1.093   0.2752    
BMI                        -0.021698   0.015775  -1.375   0.1699    
MedHx_CVDyes                0.102909   0.121882   0.844   0.3991    
stenose50-70%              -0.371045   0.818048  -0.454   0.6504    
stenose70-90%               0.112735   0.762885   0.148   0.8826    
stenose90-99%               0.042890   0.759316   0.056   0.9550    
stenose100% (Occlusion)    -0.763627   0.943304  -0.810   0.4188    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 1.054 on 328 degrees of freedom
Multiple R-squared:  0.1565,    Adjusted R-squared:  0.1128 
F-statistic:  3.58 on 17 and 328 DF,  p-value: 3.165e-06

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' IL9_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank 
Trait/outcome.............: IL9_rank 
Effect size...............: 0.101264 
Standard error............: 0.058603 
Odds ratio (effect size)..: 1.107 
Lower 95% CI..............: 0.986 
Upper 95% CI..............: 1.241 
T-value...................: 1.727962 
P-value...................: 0.08493631 
R^2.......................: 0.156502 
Adjusted r^2..............: 0.112784 
Sample size of AE DB......: 2423 
Sample size of model......: 346 
Missing data %............: 85.72018 

- processing IL10_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ Gender + ORdate_year + SmokerStatus + 
    Med.Statin.LLD, data = currentDF)

Coefficients:
             (Intercept)                Gendermale               ORdate_year     SmokerStatusEx-smoker  SmokerStatusNever smoked  
                629.1322                    0.2289                   -0.3140                   -0.2320                    0.4039  
       Med.Statin.LLDyes  
                 -0.2948  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-2.8396 -0.6657 -0.1293  0.5137  3.0367 

Coefficients:
                            Estimate Std. Error t value Pr(>|t|)    
(Intercept)               614.566254 145.630431   4.220 3.39e-05 ***
currentDF[, TRAIT]          0.008752   0.065775   0.133   0.8942    
Age                         0.001030   0.007899   0.130   0.8963    
Gendermale                  0.222461   0.137717   1.615   0.1075    
ORdate_year                -0.306768   0.072677  -4.221 3.37e-05 ***
Hypertension.compositeyes  -0.246419   0.191160  -1.289   0.1985    
DiabetesStatusDiabetes      0.042441   0.158048   0.269   0.7885    
SmokerStatusEx-smoker      -0.202212   0.136751  -1.479   0.1404    
SmokerStatusNever smoked    0.479917   0.223206   2.150   0.0325 *  
Med.Statin.LLDyes          -0.291398   0.138329  -2.107   0.0361 *  
Med.all.antiplateletyes    -0.257652   0.235015  -1.096   0.2740    
GFR_MDRD                    0.001191   0.003724   0.320   0.7494    
BMI                        -0.008942   0.018079  -0.495   0.6213    
MedHx_CVDyes                0.102880   0.132575   0.776   0.4385    
stenose70-90%               0.477578   0.359593   1.328   0.1853    
stenose90-99%               0.484577   0.354099   1.368   0.1724    
stenose100% (Occlusion)    -0.633370   0.716073  -0.885   0.3772    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.993 on 258 degrees of freedom
Multiple R-squared:  0.1473,    Adjusted R-squared:  0.09439 
F-statistic: 2.785 on 16 and 258 DF,  p-value: 0.0003687

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' IL10_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank 
Trait/outcome.............: IL10_rank 
Effect size...............: 0.008752 
Standard error............: 0.065775 
Odds ratio (effect size)..: 1.009 
Lower 95% CI..............: 0.887 
Upper 95% CI..............: 1.148 
T-value...................: 0.133062 
P-value...................: 0.894248 
R^2.......................: 0.147273 
Adjusted r^2..............: 0.09439 
Sample size of AE DB......: 2423 
Sample size of model......: 275 
Missing data %............: 88.65043 

- processing IL12_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ Gender + ORdate_year + Hypertension.composite + 
    SmokerStatus + Med.Statin.LLD, data = currentDF)

Coefficients:
              (Intercept)                 Gendermale                ORdate_year  Hypertension.compositeyes      SmokerStatusEx-smoker  
                 707.6392                     0.1905                    -0.3531                    -0.3049                    -0.1432  
 SmokerStatusNever smoked          Med.Statin.LLDyes  
                   0.4631                    -0.1950  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-2.7950 -0.6672 -0.1153  0.5208  3.0267 

Coefficients:
                            Estimate Std. Error t value Pr(>|t|)    
(Intercept)                6.733e+02  1.384e+02   4.865 1.95e-06 ***
currentDF[, TRAIT]         2.084e-02  6.262e-02   0.333   0.7395    
Age                        3.782e-03  7.751e-03   0.488   0.6260    
Gendermale                 1.841e-01  1.322e-01   1.392   0.1649    
ORdate_year               -3.362e-01  6.906e-02  -4.868 1.92e-06 ***
Hypertension.compositeyes -3.444e-01  1.851e-01  -1.860   0.0639 .  
DiabetesStatusDiabetes     9.014e-02  1.520e-01   0.593   0.5537    
SmokerStatusEx-smoker     -1.568e-01  1.354e-01  -1.158   0.2481    
SmokerStatusNever smoked   4.851e-01  2.102e-01   2.308   0.0218 *  
Med.Statin.LLDyes         -2.089e-01  1.350e-01  -1.547   0.1230    
Med.all.antiplateletyes   -1.619e-01  2.261e-01  -0.716   0.4747    
GFR_MDRD                   5.868e-04  3.590e-03   0.163   0.8703    
BMI                       -1.158e-02  1.792e-02  -0.646   0.5187    
MedHx_CVDyes               1.410e-01  1.268e-01   1.112   0.2670    
stenose70-90%              6.102e-01  3.365e-01   1.813   0.0709 .  
stenose90-99%              5.596e-01  3.314e-01   1.689   0.0925 .  
stenose100% (Occlusion)   -3.804e-03  8.081e-01  -0.005   0.9962    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9778 on 270 degrees of freedom
Multiple R-squared:  0.1548,    Adjusted R-squared:  0.1047 
F-statistic:  3.09 on 16 and 270 DF,  p-value: 8.009e-05

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' IL12_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank 
Trait/outcome.............: IL12_rank 
Effect size...............: 0.020844 
Standard error............: 0.062623 
Odds ratio (effect size)..: 1.021 
Lower 95% CI..............: 0.903 
Upper 95% CI..............: 1.154 
T-value...................: 0.332848 
P-value...................: 0.7395077 
R^2.......................: 0.15475 
Adjusted r^2..............: 0.104661 
Sample size of AE DB......: 2423 
Sample size of model......: 287 
Missing data %............: 88.15518 

- processing IL13_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + ORdate_year + 
    Med.Statin.LLD, data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]         ORdate_year   Med.Statin.LLDyes  
          621.1030              0.1496             -0.3100             -0.2002  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-2.9634 -0.7043 -0.1166  0.4844  3.2372 

Coefficients:
                            Estimate Std. Error t value Pr(>|t|)    
(Intercept)               640.523985 101.352594   6.320 7.44e-10 ***
currentDF[, TRAIT]          0.130932   0.054106   2.420   0.0160 *  
Age                        -0.006342   0.006698  -0.947   0.3443    
Gendermale                  0.127528   0.115513   1.104   0.2703    
ORdate_year                -0.319117   0.050570  -6.310 7.86e-10 ***
Hypertension.compositeyes  -0.098374   0.157054  -0.626   0.5315    
DiabetesStatusDiabetes      0.153219   0.132163   1.159   0.2471    
SmokerStatusEx-smoker      -0.032123   0.117461  -0.273   0.7846    
SmokerStatusNever smoked    0.287178   0.181150   1.585   0.1137    
Med.Statin.LLDyes          -0.228262   0.121712  -1.875   0.0615 .  
Med.all.antiplateletyes    -0.162972   0.185153  -0.880   0.3793    
GFR_MDRD                   -0.002524   0.002967  -0.850   0.3956    
BMI                        -0.020034   0.014319  -1.399   0.1626    
MedHx_CVDyes                0.088478   0.109524   0.808   0.4197    
stenose50-70%              -0.446479   0.784110  -0.569   0.5694    
stenose70-90%               0.110453   0.737703   0.150   0.8811    
stenose90-99%              -0.004374   0.735639  -0.006   0.9953    
stenose100% (Occlusion)    -0.761030   0.908852  -0.837   0.4029    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 1.02 on 375 degrees of freedom
Multiple R-squared:  0.1526,    Adjusted R-squared:  0.1142 
F-statistic: 3.972 on 17 and 375 DF,  p-value: 2.961e-07

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' IL13_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank 
Trait/outcome.............: IL13_rank 
Effect size...............: 0.130932 
Standard error............: 0.054106 
Odds ratio (effect size)..: 1.14 
Lower 95% CI..............: 1.025 
Upper 95% CI..............: 1.267 
T-value...................: 2.41994 
P-value...................: 0.01599776 
R^2.......................: 0.152587 
Adjusted r^2..............: 0.114171 
Sample size of AE DB......: 2423 
Sample size of model......: 393 
Missing data %............: 83.78044 

- processing IL21_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + ORdate_year + 
    Med.Statin.LLD, data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]         ORdate_year   Med.Statin.LLDyes  
          611.6746              0.1404             -0.3053             -0.1976  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-2.9492 -0.7054 -0.1019  0.4619  3.1900 

Coefficients:
                            Estimate Std. Error t value Pr(>|t|)    
(Intercept)               631.553561 101.101401   6.247 1.14e-09 ***
currentDF[, TRAIT]          0.120187   0.054719   2.196   0.0287 *  
Age                        -0.006807   0.006666  -1.021   0.3078    
Gendermale                  0.123682   0.115386   1.072   0.2845    
ORdate_year                -0.314613   0.050444  -6.237 1.20e-09 ***
Hypertension.compositeyes  -0.107626   0.156883  -0.686   0.4931    
DiabetesStatusDiabetes      0.143268   0.131965   1.086   0.2783    
SmokerStatusEx-smoker      -0.026662   0.117214  -0.227   0.8202    
SmokerStatusNever smoked    0.292399   0.181111   1.614   0.1073    
Med.Statin.LLDyes          -0.229425   0.121445  -1.889   0.0596 .  
Med.all.antiplateletyes    -0.158811   0.185110  -0.858   0.3915    
GFR_MDRD                   -0.002574   0.002967  -0.868   0.3862    
BMI                        -0.020583   0.014311  -1.438   0.1512    
MedHx_CVDyes                0.091917   0.109197   0.842   0.4005    
stenose50-70%              -0.456601   0.784870  -0.582   0.5611    
stenose70-90%               0.110159   0.738255   0.149   0.8815    
stenose90-99%              -0.004107   0.736301  -0.006   0.9956    
stenose100% (Occlusion)    -0.796025   0.909271  -0.875   0.3819    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 1.02 on 376 degrees of freedom
Multiple R-squared:  0.1502,    Adjusted R-squared:  0.1118 
F-statistic:  3.91 on 17 and 376 DF,  p-value: 4.186e-07

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' IL21_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank 
Trait/outcome.............: IL21_rank 
Effect size...............: 0.120187 
Standard error............: 0.054719 
Odds ratio (effect size)..: 1.128 
Lower 95% CI..............: 1.013 
Upper 95% CI..............: 1.255 
T-value...................: 2.196435 
P-value...................: 0.02867072 
R^2.......................: 0.150229 
Adjusted r^2..............: 0.111809 
Sample size of AE DB......: 2423 
Sample size of model......: 394 
Missing data %............: 83.73917 

- processing INFG_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ Gender + ORdate_year + Hypertension.composite + 
    SmokerStatus + Med.Statin.LLD, data = currentDF)

Coefficients:
              (Intercept)                 Gendermale                ORdate_year  Hypertension.compositeyes      SmokerStatusEx-smoker  
                 784.5257                     0.2412                    -0.3915                    -0.2532                    -0.1254  
 SmokerStatusNever smoked          Med.Statin.LLDyes  
                   0.3806                    -0.2133  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-2.8110 -0.6698 -0.0809  0.5140  3.0236 

Coefficients:
                            Estimate Std. Error t value Pr(>|t|)    
(Intercept)                7.784e+02  1.326e+02   5.872 1.19e-08 ***
currentDF[, TRAIT]         1.164e-02  6.807e-02   0.171   0.8643    
Age                       -2.916e-03  7.526e-03  -0.388   0.6987    
Gendermale                 2.453e-01  1.312e-01   1.869   0.0626 .  
ORdate_year               -3.882e-01  6.614e-02  -5.869 1.20e-08 ***
Hypertension.compositeyes -2.811e-01  1.813e-01  -1.551   0.1221    
DiabetesStatusDiabetes     7.881e-02  1.479e-01   0.533   0.5946    
SmokerStatusEx-smoker     -1.195e-01  1.304e-01  -0.916   0.3604    
SmokerStatusNever smoked   4.351e-01  2.117e-01   2.055   0.0407 *  
Med.Statin.LLDyes         -2.372e-01  1.352e-01  -1.754   0.0805 .  
Med.all.antiplateletyes   -2.225e-01  2.067e-01  -1.076   0.2827    
GFR_MDRD                  -6.679e-04  3.374e-03  -0.198   0.8432    
BMI                       -1.052e-02  1.611e-02  -0.653   0.5143    
MedHx_CVDyes               1.139e-01  1.255e-01   0.908   0.3648    
stenose50-70%             -4.742e-01  7.964e-01  -0.595   0.5520    
stenose70-90%              1.116e-01  7.317e-01   0.153   0.8789    
stenose90-99%              2.541e-02  7.272e-01   0.035   0.9722    
stenose100% (Occlusion)   -5.239e-01  1.045e+00  -0.501   0.6167    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9984 on 288 degrees of freedom
Multiple R-squared:  0.1744,    Adjusted R-squared:  0.1257 
F-statistic: 3.579 on 17 and 288 DF,  p-value: 3.782e-06

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' INFG_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank 
Trait/outcome.............: INFG_rank 
Effect size...............: 0.01164 
Standard error............: 0.06807 
Odds ratio (effect size)..: 1.012 
Lower 95% CI..............: 0.885 
Upper 95% CI..............: 1.156 
T-value...................: 0.170995 
P-value...................: 0.8643475 
R^2.......................: 0.174399 
Adjusted r^2..............: 0.125665 
Sample size of AE DB......: 2423 
Sample size of model......: 306 
Missing data %............: 87.37103 

- processing TNFA_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ ORdate_year + Med.Statin.LLD, 
    data = currentDF)

Coefficients:
      (Intercept)        ORdate_year  Med.Statin.LLDyes  
         752.1760            -0.3754            -0.2382  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-2.85176 -0.70666 -0.06778  0.52172  2.96247 

Coefficients:
                            Estimate Std. Error t value Pr(>|t|)    
(Intercept)                7.291e+02  1.368e+02   5.329 2.13e-07 ***
currentDF[, TRAIT]         4.018e-02  6.089e-02   0.660   0.5099    
Age                        1.899e-03  7.598e-03   0.250   0.8028    
Gendermale                 1.735e-01  1.318e-01   1.316   0.1892    
ORdate_year               -3.641e-01  6.830e-02  -5.331 2.11e-07 ***
Hypertension.compositeyes -2.628e-01  1.820e-01  -1.444   0.1499    
DiabetesStatusDiabetes    -8.969e-02  1.507e-01  -0.595   0.5523    
SmokerStatusEx-smoker     -9.624e-02  1.336e-01  -0.720   0.4720    
SmokerStatusNever smoked   3.855e-01  2.136e-01   1.805   0.0723 .  
Med.Statin.LLDyes         -2.171e-01  1.330e-01  -1.632   0.1039    
Med.all.antiplateletyes   -1.231e-01  2.278e-01  -0.540   0.5895    
GFR_MDRD                   7.723e-04  3.523e-03   0.219   0.8266    
BMI                       -8.022e-03  1.785e-02  -0.450   0.6534    
MedHx_CVDyes               1.265e-01  1.271e-01   0.995   0.3207    
stenose70-90%              5.637e-01  3.331e-01   1.692   0.0918 .  
stenose90-99%              5.357e-01  3.270e-01   1.638   0.1026    
stenose100% (Occlusion)    4.313e-02  8.000e-01   0.054   0.9570    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9617 on 262 degrees of freedom
Multiple R-squared:  0.1607,    Adjusted R-squared:  0.1094 
F-statistic: 3.135 on 16 and 262 DF,  p-value: 6.575e-05

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' TNFA_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank 
Trait/outcome.............: TNFA_rank 
Effect size...............: 0.040178 
Standard error............: 0.060889 
Odds ratio (effect size)..: 1.041 
Lower 95% CI..............: 0.924 
Upper 95% CI..............: 1.173 
T-value...................: 0.65985 
P-value...................: 0.5099298 
R^2.......................: 0.160691 
Adjusted r^2..............: 0.109436 
Sample size of AE DB......: 2423 
Sample size of model......: 279 
Missing data %............: 88.48535 

- processing MIF_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + ORdate_year + 
    Med.Statin.LLD, data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]         ORdate_year   Med.Statin.LLDyes  
         530.48694             0.09001            -0.26479            -0.19935  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-2.8502 -0.7147 -0.1246  0.5322  2.9886 

Coefficients:
                            Estimate Std. Error t value Pr(>|t|)    
(Intercept)               561.886413 109.627605   5.125 4.76e-07 ***
currentDF[, TRAIT]          0.083987   0.060146   1.396   0.1634    
Age                        -0.007989   0.006654  -1.201   0.2306    
Gendermale                  0.136229   0.115633   1.178   0.2395    
ORdate_year                -0.279848   0.054700  -5.116 4.99e-07 ***
Hypertension.compositeyes  -0.104558   0.157707  -0.663   0.5077    
DiabetesStatusDiabetes      0.156115   0.133426   1.170   0.2427    
SmokerStatusEx-smoker       0.006856   0.117974   0.058   0.9537    
SmokerStatusNever smoked    0.350452   0.180755   1.939   0.0533 .  
Med.Statin.LLDyes          -0.233610   0.121923  -1.916   0.0561 .  
Med.all.antiplateletyes    -0.165048   0.186344  -0.886   0.3763    
GFR_MDRD                   -0.002368   0.002998  -0.790   0.4301    
BMI                        -0.022501   0.014385  -1.564   0.1186    
MedHx_CVDyes                0.087763   0.109802   0.799   0.4246    
stenose50-70%              -0.359343   0.785883  -0.457   0.6478    
stenose70-90%               0.201097   0.739110   0.272   0.7857    
stenose90-99%               0.088262   0.737060   0.120   0.9047    
stenose100% (Occlusion)    -0.754526   0.912390  -0.827   0.4088    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 1.024 on 376 degrees of freedom
Multiple R-squared:  0.1438,    Adjusted R-squared:  0.1051 
F-statistic: 3.714 on 17 and 376 DF,  p-value: 1.269e-06

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' MIF_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank 
Trait/outcome.............: MIF_rank 
Effect size...............: 0.083987 
Standard error............: 0.060146 
Odds ratio (effect size)..: 1.088 
Lower 95% CI..............: 0.967 
Upper 95% CI..............: 1.224 
T-value...................: 1.396393 
P-value...................: 0.1634199 
R^2.......................: 0.143767 
Adjusted r^2..............: 0.105054 
Sample size of AE DB......: 2423 
Sample size of model......: 394 
Missing data %............: 83.73917 

- processing MCP1_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + ORdate_year + 
    DiabetesStatus + Med.Statin.LLD, data = currentDF)

Coefficients:
           (Intercept)      currentDF[, TRAIT]             ORdate_year  DiabetesStatusDiabetes       Med.Statin.LLDyes  
              508.4257                  0.2312                 -0.2538                  0.1780                 -0.1810  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-3.13959 -0.69973 -0.07668  0.51874  2.86017 

Coefficients:
                            Estimate Std. Error t value Pr(>|t|)    
(Intercept)               525.306082 102.093906   5.145 4.33e-07 ***
currentDF[, TRAIT]          0.206906   0.052371   3.951 9.32e-05 ***
Age                        -0.007527   0.006604  -1.140   0.2551    
Gendermale                  0.106705   0.114982   0.928   0.3540    
ORdate_year                -0.261754   0.050933  -5.139 4.46e-07 ***
Hypertension.compositeyes  -0.082266   0.155291  -0.530   0.5966    
DiabetesStatusDiabetes      0.189982   0.131687   1.443   0.1500    
SmokerStatusEx-smoker      -0.003971   0.116002  -0.034   0.9727    
SmokerStatusNever smoked    0.300941   0.178022   1.690   0.0918 .  
Med.Statin.LLDyes          -0.205724   0.120436  -1.708   0.0884 .  
Med.all.antiplateletyes    -0.118437   0.187733  -0.631   0.5285    
GFR_MDRD                   -0.002948   0.002935  -1.004   0.3159    
BMI                        -0.016728   0.014231  -1.175   0.2406    
MedHx_CVDyes                0.073295   0.108566   0.675   0.5000    
stenose50-70%              -0.235398   0.771672  -0.305   0.7605    
stenose70-90%               0.306364   0.725080   0.423   0.6729    
stenose90-99%               0.232534   0.722573   0.322   0.7478    
stenose100% (Occlusion)    -0.395377   0.899637  -0.439   0.6606    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 1.006 on 372 degrees of freedom
Multiple R-squared:  0.1731,    Adjusted R-squared:  0.1353 
F-statistic:  4.58 on 17 and 372 DF,  p-value: 9.395e-09

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' MCP1_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank 
Trait/outcome.............: MCP1_rank 
Effect size...............: 0.206906 
Standard error............: 0.052371 
Odds ratio (effect size)..: 1.23 
Lower 95% CI..............: 1.11 
Upper 95% CI..............: 1.363 
T-value...................: 3.950765 
P-value...................: 9.32095e-05 
R^2.......................: 0.173067 
Adjusted r^2..............: 0.135277 
Sample size of AE DB......: 2423 
Sample size of model......: 390 
Missing data %............: 83.90425 

- processing MIP1a_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + ORdate_year + 
    DiabetesStatus + Med.Statin.LLD, data = currentDF)

Coefficients:
           (Intercept)      currentDF[, TRAIT]             ORdate_year  DiabetesStatusDiabetes       Med.Statin.LLDyes  
              598.5494                  0.1518                 -0.2988                  0.2238                 -0.2769  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-2.9331 -0.7349 -0.1001  0.5107  3.2356 

Coefficients:
                            Estimate Std. Error t value Pr(>|t|)    
(Intercept)               608.930050 105.698714   5.761 1.88e-08 ***
currentDF[, TRAIT]          0.139384   0.058297   2.391   0.0174 *  
Age                        -0.008152   0.007222  -1.129   0.2598    
Gendermale                  0.131240   0.125658   1.044   0.2970    
ORdate_year                -0.303204   0.052740  -5.749 2.00e-08 ***
Hypertension.compositeyes  -0.204706   0.169957  -1.204   0.2293    
DiabetesStatusDiabetes      0.240926   0.143645   1.677   0.0944 .  
SmokerStatusEx-smoker      -0.038570   0.127276  -0.303   0.7620    
SmokerStatusNever smoked    0.264892   0.191128   1.386   0.1667    
Med.Statin.LLDyes          -0.291986   0.131317  -2.224   0.0268 *  
Med.all.antiplateletyes    -0.131454   0.208657  -0.630   0.5291    
GFR_MDRD                   -0.002852   0.003114  -0.916   0.3603    
BMI                        -0.019721   0.015187  -1.299   0.1950    
MedHx_CVDyes                0.091248   0.118869   0.768   0.4432    
stenose50-70%              -0.463998   0.811932  -0.571   0.5681    
stenose70-90%               0.020301   0.757482   0.027   0.9786    
stenose90-99%              -0.064065   0.754593  -0.085   0.9324    
stenose100% (Occlusion)    -0.841410   0.934864  -0.900   0.3687    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 1.044 on 339 degrees of freedom
Multiple R-squared:  0.158, Adjusted R-squared:  0.1158 
F-statistic: 3.742 on 17 and 339 DF,  p-value: 1.239e-06

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' MIP1a_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank 
Trait/outcome.............: MIP1a_rank 
Effect size...............: 0.139384 
Standard error............: 0.058297 
Odds ratio (effect size)..: 1.15 
Lower 95% CI..............: 1.025 
Upper 95% CI..............: 1.289 
T-value...................: 2.390946 
P-value...................: 0.01735002 
R^2.......................: 0.158 
Adjusted r^2..............: 0.115776 
Sample size of AE DB......: 2423 
Sample size of model......: 357 
Missing data %............: 85.2662 

- processing RANTES_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ ORdate_year + Med.Statin.LLD, 
    data = currentDF)

Coefficients:
      (Intercept)        ORdate_year  Med.Statin.LLDyes  
         592.5051            -0.2957            -0.2136  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-2.8771 -0.7136 -0.1137  0.5285  3.0249 

Coefficients:
                            Estimate Std. Error t value Pr(>|t|)    
(Intercept)               577.595126 108.817363   5.308 1.92e-07 ***
currentDF[, TRAIT]          0.048611   0.057177   0.850   0.3958    
Age                        -0.008761   0.006743  -1.299   0.1947    
Gendermale                  0.138695   0.118235   1.173   0.2415    
ORdate_year                -0.287677   0.054292  -5.299 2.01e-07 ***
Hypertension.compositeyes  -0.147463   0.160766  -0.917   0.3596    
DiabetesStatusDiabetes      0.170295   0.135936   1.253   0.2111    
SmokerStatusEx-smoker       0.013369   0.119113   0.112   0.9107    
SmokerStatusNever smoked    0.350934   0.182239   1.926   0.0549 .  
Med.Statin.LLDyes          -0.246803   0.123522  -1.998   0.0464 *  
Med.all.antiplateletyes    -0.109622   0.192672  -0.569   0.5697    
GFR_MDRD                   -0.003294   0.003010  -1.094   0.2746    
BMI                        -0.021287   0.014571  -1.461   0.1449    
MedHx_CVDyes                0.100032   0.112001   0.893   0.3724    
stenose50-70%              -0.347454   0.793462  -0.438   0.6617    
stenose70-90%               0.227627   0.742174   0.307   0.7592    
stenose90-99%               0.149435   0.739217   0.202   0.8399    
stenose100% (Occlusion)    -0.744097   0.919429  -0.809   0.4189    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 1.029 on 369 degrees of freedom
Multiple R-squared:  0.1407,    Adjusted R-squared:  0.1011 
F-statistic: 3.555 on 17 and 369 DF,  p-value: 3.154e-06

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' RANTES_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank 
Trait/outcome.............: RANTES_rank 
Effect size...............: 0.048611 
Standard error............: 0.057177 
Odds ratio (effect size)..: 1.05 
Lower 95% CI..............: 0.939 
Upper 95% CI..............: 1.174 
T-value...................: 0.850177 
P-value...................: 0.3957782 
R^2.......................: 0.140732 
Adjusted r^2..............: 0.101145 
Sample size of AE DB......: 2423 
Sample size of model......: 387 
Missing data %............: 84.02806 

- processing MIG_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + ORdate_year + 
    Med.Statin.LLD, data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]         ORdate_year   Med.Statin.LLDyes  
          645.2054              0.1032             -0.3220             -0.2155  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-2.9559 -0.7249 -0.1105  0.5005  3.1769 

Coefficients:
                            Estimate Std. Error t value Pr(>|t|)    
(Intercept)               655.828872 107.001699   6.129 2.29e-09 ***
currentDF[, TRAIT]          0.088823   0.057999   1.531   0.1265    
Age                        -0.008243   0.006896  -1.195   0.2327    
Gendermale                  0.114799   0.118292   0.970   0.3325    
ORdate_year                -0.326650   0.053391  -6.118 2.44e-09 ***
Hypertension.compositeyes  -0.128855   0.161159  -0.800   0.4245    
DiabetesStatusDiabetes      0.179953   0.136289   1.320   0.1875    
SmokerStatusEx-smoker      -0.020769   0.120467  -0.172   0.8632    
SmokerStatusNever smoked    0.250697   0.187064   1.340   0.1810    
Med.Statin.LLDyes          -0.252564   0.124323  -2.032   0.0429 *  
Med.all.antiplateletyes    -0.179761   0.190323  -0.945   0.3455    
GFR_MDRD                   -0.003050   0.003018  -1.011   0.3129    
BMI                        -0.019849   0.014575  -1.362   0.1741    
MedHx_CVDyes                0.066653   0.112785   0.591   0.5549    
stenose50-70%              -0.450359   0.797819  -0.564   0.5728    
stenose70-90%               0.132329   0.746553   0.177   0.8594    
stenose90-99%               0.036946   0.744165   0.050   0.9604    
stenose100% (Occlusion)    -0.827718   0.921141  -0.899   0.3695    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 1.031 on 365 degrees of freedom
Multiple R-squared:  0.1439,    Adjusted R-squared:  0.1041 
F-statistic:  3.61 on 17 and 365 DF,  p-value: 2.351e-06

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' MIG_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank 
Trait/outcome.............: MIG_rank 
Effect size...............: 0.088823 
Standard error............: 0.057999 
Odds ratio (effect size)..: 1.093 
Lower 95% CI..............: 0.975 
Upper 95% CI..............: 1.224 
T-value...................: 1.531475 
P-value...................: 0.1265182 
R^2.......................: 0.143935 
Adjusted r^2..............: 0.104064 
Sample size of AE DB......: 2423 
Sample size of model......: 383 
Missing data %............: 84.19315 

- processing IP10_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + ORdate_year + 
    DiabetesStatus + Med.Statin.LLD + MedHx_CVD, data = currentDF)

Coefficients:
           (Intercept)      currentDF[, TRAIT]             ORdate_year  DiabetesStatusDiabetes       Med.Statin.LLDyes            MedHx_CVDyes  
              603.7713                  0.1550                 -0.3014                  0.2302                 -0.2633                  0.1700  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-2.89044 -0.73576 -0.05783  0.56768  2.92379 

Coefficients:
                            Estimate Std. Error t value Pr(>|t|)    
(Intercept)               608.443344 104.787343   5.806 1.49e-08 ***
currentDF[, TRAIT]          0.146556   0.056745   2.583   0.0102 *  
Age                        -0.005154   0.007198  -0.716   0.4744    
Gendermale                  0.133516   0.122306   1.092   0.2758    
ORdate_year                -0.303176   0.052282  -5.799 1.56e-08 ***
Hypertension.compositeyes  -0.186912   0.166735  -1.121   0.2631    
DiabetesStatusDiabetes      0.235403   0.142647   1.650   0.0998 .  
SmokerStatusEx-smoker      -0.051917   0.126078  -0.412   0.6808    
SmokerStatusNever smoked    0.116580   0.196243   0.594   0.5529    
Med.Statin.LLDyes          -0.279878   0.128615  -2.176   0.0303 *  
Med.all.antiplateletyes    -0.167419   0.194462  -0.861   0.3899    
GFR_MDRD                   -0.003234   0.003125  -1.035   0.3015    
BMI                        -0.015385   0.015108  -1.018   0.3093    
MedHx_CVDyes                0.182782   0.116555   1.568   0.1178    
stenose50-70%              -0.403262   0.789012  -0.511   0.6096    
stenose70-90%               0.141061   0.739244   0.191   0.8488    
stenose90-99%               0.032843   0.735707   0.045   0.9644    
stenose100% (Occlusion)    -0.629685   0.913084  -0.690   0.4909    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 1.021 on 332 degrees of freedom
Multiple R-squared:  0.1678,    Adjusted R-squared:  0.1252 
F-statistic: 3.938 on 17 and 332 DF,  p-value: 4.307e-07

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' IP10_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank 
Trait/outcome.............: IP10_rank 
Effect size...............: 0.146556 
Standard error............: 0.056745 
Odds ratio (effect size)..: 1.158 
Lower 95% CI..............: 1.036 
Upper 95% CI..............: 1.294 
T-value...................: 2.582702 
P-value...................: 0.01023056 
R^2.......................: 0.167803 
Adjusted r^2..............: 0.125191 
Sample size of AE DB......: 2423 
Sample size of model......: 350 
Missing data %............: 85.5551 

- processing Eotaxin1_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + ORdate_year + 
    Med.Statin.LLD, data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]         ORdate_year   Med.Statin.LLDyes  
         621.96072             0.09579            -0.31044            -0.19274  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-2.9758 -0.7011 -0.1045  0.5013  3.0768 

Coefficients:
                            Estimate Std. Error t value Pr(>|t|)    
(Intercept)               636.648833 102.223868   6.228 1.27e-09 ***
currentDF[, TRAIT]          0.071373   0.056329   1.267   0.2059    
Age                        -0.007885   0.006672  -1.182   0.2381    
Gendermale                  0.129283   0.116464   1.110   0.2677    
ORdate_year                -0.317144   0.051003  -6.218 1.34e-09 ***
Hypertension.compositeyes  -0.116126   0.157485  -0.737   0.4614    
DiabetesStatusDiabetes      0.137453   0.132491   1.037   0.3002    
SmokerStatusEx-smoker      -0.019695   0.117728  -0.167   0.8672    
SmokerStatusNever smoked    0.309398   0.182121   1.699   0.0902 .  
Med.Statin.LLDyes          -0.227095   0.121992  -1.862   0.0634 .  
Med.all.antiplateletyes    -0.153511   0.185943  -0.826   0.4096    
GFR_MDRD                   -0.002647   0.002982  -0.888   0.3754    
BMI                        -0.020923   0.014371  -1.456   0.1463    
MedHx_CVDyes                0.092707   0.109696   0.845   0.3986    
stenose50-70%              -0.406097   0.788644  -0.515   0.6069    
stenose70-90%               0.163802   0.741880   0.221   0.8254    
stenose90-99%               0.056827   0.739871   0.077   0.9388    
stenose100% (Occlusion)    -0.788912   0.913865  -0.863   0.3885    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 1.025 on 376 degrees of freedom
Multiple R-squared:  0.143, Adjusted R-squared:  0.1042 
F-statistic:  3.69 on 17 and 376 DF,  p-value: 1.448e-06

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' Eotaxin1_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank 
Trait/outcome.............: Eotaxin1_rank 
Effect size...............: 0.071373 
Standard error............: 0.056329 
Odds ratio (effect size)..: 1.074 
Lower 95% CI..............: 0.962 
Upper 95% CI..............: 1.199 
T-value...................: 1.267069 
P-value...................: 0.2059147 
R^2.......................: 0.142986 
Adjusted r^2..............: 0.104238 
Sample size of AE DB......: 2423 
Sample size of model......: 394 
Missing data %............: 83.73917 

- processing TARC_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + ORdate_year + 
    Med.Statin.LLD, data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]         ORdate_year   Med.Statin.LLDyes  
          540.0839              0.1410             -0.2696             -0.2553  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-2.9079 -0.6856 -0.1040  0.4814  3.1625 

Coefficients:
                            Estimate Std. Error t value Pr(>|t|)    
(Intercept)               551.833212 125.564673   4.395 1.51e-05 ***
currentDF[, TRAIT]          0.118805   0.059963   1.981   0.0484 *  
Age                        -0.009621   0.007130  -1.349   0.1782    
Gendermale                  0.122265   0.124542   0.982   0.3270    
ORdate_year                -0.274607   0.062670  -4.382 1.60e-05 ***
Hypertension.compositeyes  -0.197456   0.167715  -1.177   0.2399    
DiabetesStatusDiabetes      0.167506   0.144279   1.161   0.2465    
SmokerStatusEx-smoker       0.001038   0.127759   0.008   0.9935    
SmokerStatusNever smoked    0.296366   0.189226   1.566   0.1183    
Med.Statin.LLDyes          -0.294360   0.134703  -2.185   0.0296 *  
Med.all.antiplateletyes    -0.082747   0.201580  -0.410   0.6817    
GFR_MDRD                   -0.005069   0.003285  -1.543   0.1238    
BMI                        -0.023691   0.015766  -1.503   0.1339    
MedHx_CVDyes                0.051347   0.120043   0.428   0.6691    
stenose50-70%              -0.328570   0.792777  -0.414   0.6788    
stenose70-90%               0.166590   0.739111   0.225   0.8218    
stenose90-99%               0.061904   0.736670   0.084   0.9331    
stenose100% (Occlusion)    -0.728236   0.916054  -0.795   0.4272    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 1.022 on 318 degrees of freedom
Multiple R-squared:  0.1433,    Adjusted R-squared:  0.09752 
F-statistic: 3.129 on 17 and 318 DF,  p-value: 3.754e-05

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' TARC_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank 
Trait/outcome.............: TARC_rank 
Effect size...............: 0.118805 
Standard error............: 0.059963 
Odds ratio (effect size)..: 1.126 
Lower 95% CI..............: 1.001 
Upper 95% CI..............: 1.267 
T-value...................: 1.981291 
P-value...................: 0.04841972 
R^2.......................: 0.143315 
Adjusted r^2..............: 0.097517 
Sample size of AE DB......: 2423 
Sample size of model......: 336 
Missing data %............: 86.13289 

- processing PARC_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + ORdate_year + 
    Med.Statin.LLD, data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]         ORdate_year   Med.Statin.LLDyes  
          528.6136              0.1183             -0.2639             -0.1968  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-2.8780 -0.7038 -0.1073  0.5359  2.9543 

Coefficients:
                            Estimate Std. Error t value Pr(>|t|)    
(Intercept)               565.882347 106.579956   5.309 1.88e-07 ***
currentDF[, TRAIT]          0.092755   0.056767   1.634   0.1031    
Age                        -0.008312   0.006627  -1.254   0.2105    
Gendermale                  0.148858   0.115050   1.294   0.1965    
ORdate_year                -0.281912   0.053165  -5.303 1.95e-07 ***
Hypertension.compositeyes  -0.092312   0.158050  -0.584   0.5595    
DiabetesStatusDiabetes      0.154136   0.132895   1.160   0.2469    
SmokerStatusEx-smoker      -0.006186   0.117301  -0.053   0.9580    
SmokerStatusNever smoked    0.327456   0.180521   1.814   0.0705 .  
Med.Statin.LLDyes          -0.232841   0.121796  -1.912   0.0567 .  
Med.all.antiplateletyes    -0.122900   0.185900  -0.661   0.5089    
GFR_MDRD                   -0.002580   0.002978  -0.866   0.3869    
BMI                        -0.021324   0.014348  -1.486   0.1380    
MedHx_CVDyes                0.090739   0.109555   0.828   0.4081    
stenose50-70%              -0.236917   0.786316  -0.301   0.7634    
stenose70-90%               0.291530   0.737819   0.395   0.6930    
stenose90-99%               0.185763   0.735119   0.253   0.8006    
stenose100% (Occlusion)    -0.577616   0.915986  -0.631   0.5287    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 1.023 on 376 degrees of freedom
Multiple R-squared:  0.1454,    Adjusted R-squared:  0.1068 
F-statistic: 3.763 on 17 and 376 DF,  p-value: 9.616e-07

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' PARC_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank 
Trait/outcome.............: PARC_rank 
Effect size...............: 0.092755 
Standard error............: 0.056767 
Odds ratio (effect size)..: 1.097 
Lower 95% CI..............: 0.982 
Upper 95% CI..............: 1.226 
T-value...................: 1.633952 
P-value...................: 0.1031058 
R^2.......................: 0.145394 
Adjusted r^2..............: 0.106755 
Sample size of AE DB......: 2423 
Sample size of model......: 394 
Missing data %............: 83.73917 

- processing MDC_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ ORdate_year + DiabetesStatus + 
    Med.Statin.LLD, data = currentDF)

Coefficients:
           (Intercept)             ORdate_year  DiabetesStatusDiabetes       Med.Statin.LLDyes  
              607.8354                 -0.3034                  0.2240                 -0.2736  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-2.8964 -0.7101 -0.0881  0.5328  3.1153 

Coefficients:
                            Estimate Std. Error t value Pr(>|t|)    
(Intercept)               588.018212 113.120695   5.198 3.50e-07 ***
currentDF[, TRAIT]          0.053196   0.061716   0.862   0.3893    
Age                        -0.011011   0.007133  -1.544   0.1236    
Gendermale                  0.154530   0.125948   1.227   0.2207    
ORdate_year                -0.292681   0.056442  -5.186 3.73e-07 ***
Hypertension.compositeyes  -0.208318   0.171844  -1.212   0.2263    
DiabetesStatusDiabetes      0.262304   0.146626   1.789   0.0745 .  
SmokerStatusEx-smoker       0.019710   0.127508   0.155   0.8772    
SmokerStatusNever smoked    0.318275   0.192246   1.656   0.0987 .  
Med.Statin.LLDyes          -0.305245   0.131320  -2.324   0.0207 *  
Med.all.antiplateletyes    -0.127052   0.213930  -0.594   0.5530    
GFR_MDRD                   -0.003608   0.003166  -1.140   0.2553    
BMI                        -0.023458   0.015339  -1.529   0.1271    
MedHx_CVDyes                0.109296   0.119684   0.913   0.3618    
stenose50-70%              -0.346333   0.813867  -0.426   0.6707    
stenose70-90%               0.143983   0.759228   0.190   0.8497    
stenose90-99%               0.055937   0.756441   0.074   0.9411    
stenose100% (Occlusion)    -0.790587   0.938322  -0.843   0.4001    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 1.049 on 336 degrees of freedom
Multiple R-squared:  0.1546,    Adjusted R-squared:  0.1119 
F-statistic: 3.615 on 17 and 336 DF,  p-value: 2.528e-06

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' MDC_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank 
Trait/outcome.............: MDC_rank 
Effect size...............: 0.053196 
Standard error............: 0.061716 
Odds ratio (effect size)..: 1.055 
Lower 95% CI..............: 0.934 
Upper 95% CI..............: 1.19 
T-value...................: 0.861943 
P-value...................: 0.3893336 
R^2.......................: 0.154627 
Adjusted r^2..............: 0.111855 
Sample size of AE DB......: 2423 
Sample size of model......: 354 
Missing data %............: 85.39001 

- processing OPG_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + ORdate_year + 
    Med.Statin.LLD, data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]         ORdate_year   Med.Statin.LLDyes  
          601.5367              0.1908             -0.3002             -0.1960  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-2.70686 -0.73910 -0.09815  0.50458  3.13359 

Coefficients:
                            Estimate Std. Error t value Pr(>|t|)    
(Intercept)               620.549914 100.171190   6.195 1.54e-09 ***
currentDF[, TRAIT]          0.181479   0.051679   3.512   0.0005 ***
Age                        -0.006744   0.006591  -1.023   0.3069    
Gendermale                  0.109831   0.114746   0.957   0.3391    
ORdate_year                -0.309204   0.049980  -6.187 1.61e-09 ***
Hypertension.compositeyes  -0.068235   0.156171  -0.437   0.6624    
DiabetesStatusDiabetes      0.169241   0.131197   1.290   0.1979    
SmokerStatusEx-smoker      -0.039586   0.116413  -0.340   0.7340    
SmokerStatusNever smoked    0.292052   0.178892   1.633   0.1034    
Med.Statin.LLDyes          -0.223452   0.120704  -1.851   0.0649 .  
Med.all.antiplateletyes    -0.188764   0.183880  -1.027   0.3053    
GFR_MDRD                   -0.002906   0.002939  -0.989   0.3234    
BMI                        -0.018824   0.014207  -1.325   0.1860    
MedHx_CVDyes                0.090730   0.108568   0.836   0.4039    
stenose50-70%              -0.295606   0.775873  -0.381   0.7034    
stenose70-90%               0.242496   0.729196   0.333   0.7397    
stenose90-99%               0.135368   0.726612   0.186   0.8523    
stenose100% (Occlusion)    -0.523863   0.903035  -0.580   0.5622    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 1.012 on 375 degrees of freedom
Multiple R-squared:  0.1668,    Adjusted R-squared:  0.129 
F-statistic: 4.415 on 17 and 375 DF,  p-value: 2.38e-08

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' OPG_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank 
Trait/outcome.............: OPG_rank 
Effect size...............: 0.181479 
Standard error............: 0.051679 
Odds ratio (effect size)..: 1.199 
Lower 95% CI..............: 1.083 
Upper 95% CI..............: 1.327 
T-value...................: 3.511632 
P-value...................: 0.0004996369 
R^2.......................: 0.166754 
Adjusted r^2..............: 0.12898 
Sample size of AE DB......: 2423 
Sample size of model......: 393 
Missing data %............: 83.78044 

- processing sICAM1_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + ORdate_year + 
    Med.Statin.LLD, data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]         ORdate_year   Med.Statin.LLDyes  
         555.08643             0.09464            -0.27707            -0.18925  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-2.89939 -0.71156 -0.08992  0.53496  2.96745 

Coefficients:
                            Estimate Std. Error t value Pr(>|t|)    
(Intercept)               587.901273 104.003175   5.653 3.13e-08 ***
currentDF[, TRAIT]          0.075162   0.054198   1.387   0.1663    
Age                        -0.007377   0.006710  -1.099   0.2723    
Gendermale                  0.144824   0.115241   1.257   0.2096    
ORdate_year                -0.292867   0.051887  -5.644 3.27e-08 ***
Hypertension.compositeyes  -0.114939   0.157428  -0.730   0.4658    
DiabetesStatusDiabetes      0.148246   0.132851   1.116   0.2652    
SmokerStatusEx-smoker      -0.008019   0.117404  -0.068   0.9456    
SmokerStatusNever smoked    0.322760   0.180934   1.784   0.0753 .  
Med.Statin.LLDyes          -0.223059   0.122031  -1.828   0.0684 .  
Med.all.antiplateletyes    -0.141748   0.185680  -0.763   0.4457    
GFR_MDRD                   -0.002586   0.002983  -0.867   0.3866    
BMI                        -0.021783   0.014365  -1.516   0.1303    
MedHx_CVDyes                0.084021   0.110013   0.764   0.4455    
stenose50-70%              -0.356397   0.785845  -0.454   0.6504    
stenose70-90%               0.217173   0.738647   0.294   0.7689    
stenose90-99%               0.110102   0.736263   0.150   0.8812    
stenose100% (Occlusion)    -0.700863   0.912445  -0.768   0.4429    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 1.024 on 376 degrees of freedom
Multiple R-squared:  0.1437,    Adjusted R-squared:  0.105 
F-statistic: 3.712 on 17 and 376 DF,  p-value: 1.282e-06

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' sICAM1_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank 
Trait/outcome.............: sICAM1_rank 
Effect size...............: 0.075162 
Standard error............: 0.054198 
Odds ratio (effect size)..: 1.078 
Lower 95% CI..............: 0.969 
Upper 95% CI..............: 1.199 
T-value...................: 1.386785 
P-value...................: 0.166329 
R^2.......................: 0.143706 
Adjusted r^2..............: 0.104991 
Sample size of AE DB......: 2423 
Sample size of model......: 394 
Missing data %............: 83.73917 

- processing VEGFA_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year + Hypertension.composite + SmokerStatus + GFR_MDRD + 
    BMI + stenose, data = currentDF)

Coefficients:
              (Intercept)         currentDF[, TRAIT]                 Gendermale                ORdate_year  Hypertension.compositeyes  
               810.166924                   0.126116                   0.189062                  -0.404478                  -0.241479  
    SmokerStatusEx-smoker   SmokerStatusNever smoked                   GFR_MDRD                        BMI              stenose50-70%  
                -0.093546                   0.430385                  -0.004195                  -0.020590                   0.403433  
            stenose70-90%              stenose90-99%    stenose100% (Occlusion)  
                 1.139604                   0.905212                   0.199254  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-2.72327 -0.66316 -0.08646  0.44284  2.87596 

Coefficients:
                            Estimate Std. Error t value Pr(>|t|)    
(Intercept)               785.636195 117.607642   6.680 1.10e-10 ***
currentDF[, TRAIT]          0.118344   0.056769   2.085   0.0379 *  
Age                        -0.006402   0.006929  -0.924   0.3562    
Gendermale                  0.176175   0.120604   1.461   0.1451    
ORdate_year                -0.391822   0.058697  -6.675 1.13e-10 ***
Hypertension.compositeyes  -0.201754   0.167686  -1.203   0.2298    
DiabetesStatusDiabetes      0.002035   0.135552   0.015   0.9880    
SmokerStatusEx-smoker      -0.056798   0.121106  -0.469   0.6394    
SmokerStatusNever smoked    0.454896   0.193286   2.353   0.0192 *  
Med.Statin.LLDyes          -0.133265   0.125493  -1.062   0.2891    
Med.all.antiplateletyes    -0.206475   0.182994  -1.128   0.2601    
GFR_MDRD                   -0.004745   0.002932  -1.619   0.1066    
BMI                        -0.023108   0.015172  -1.523   0.1287    
MedHx_CVDyes                0.017226   0.114878   0.150   0.8809    
stenose50-70%               0.322200   1.025046   0.314   0.7535    
stenose70-90%               1.060198   0.982079   1.080   0.2812    
stenose90-99%               0.842752   0.980557   0.859   0.3907    
stenose100% (Occlusion)    -0.030354   1.105947  -0.027   0.9781    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9711 on 312 degrees of freedom
Multiple R-squared:  0.1998,    Adjusted R-squared:  0.1562 
F-statistic: 4.584 on 17 and 312 DF,  p-value: 1.342e-08

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' VEGFA_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank 
Trait/outcome.............: VEGFA_rank 
Effect size...............: 0.118344 
Standard error............: 0.056769 
Odds ratio (effect size)..: 1.126 
Lower 95% CI..............: 1.007 
Upper 95% CI..............: 1.258 
T-value...................: 2.084657 
P-value...................: 0.03791335 
R^2.......................: 0.199846 
Adjusted r^2..............: 0.156248 
Sample size of AE DB......: 2423 
Sample size of model......: 330 
Missing data %............: 86.38052 

- processing TGFB_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ ORdate_year + SmokerStatus, 
    data = currentDF)

Coefficients:
             (Intercept)               ORdate_year     SmokerStatusEx-smoker  SmokerStatusNever smoked  
               645.31534                  -0.32218                  -0.03792                   0.31256  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-2.8619 -0.7260 -0.1075  0.5228  2.9263 

Coefficients:
                            Estimate Std. Error t value Pr(>|t|)    
(Intercept)               592.679846 106.270213   5.577 4.76e-08 ***
currentDF[, TRAIT]          0.071789   0.054685   1.313    0.190    
Age                        -0.009345   0.006834  -1.367    0.172    
Gendermale                  0.146591   0.118981   1.232    0.219    
ORdate_year                -0.295222   0.053023  -5.568 5.00e-08 ***
Hypertension.compositeyes  -0.126454   0.159970  -0.790    0.430    
DiabetesStatusDiabetes      0.127121   0.134577   0.945    0.345    
SmokerStatusEx-smoker       0.014106   0.119867   0.118    0.906    
SmokerStatusNever smoked    0.408016   0.186167   2.192    0.029 *  
Med.Statin.LLDyes          -0.203236   0.124832  -1.628    0.104    
Med.all.antiplateletyes    -0.119314   0.190495  -0.626    0.531    
GFR_MDRD                   -0.003591   0.003049  -1.178    0.240    
BMI                        -0.018836   0.014826  -1.270    0.205    
MedHx_CVDyes                0.092949   0.112288   0.828    0.408    
stenose50-70%              -0.374187   0.791057  -0.473    0.636    
stenose70-90%               0.237446   0.746023   0.318    0.750    
stenose90-99%               0.141648   0.743311   0.191    0.849    
stenose100% (Occlusion)    -0.743982   0.922429  -0.807    0.420    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 1.034 on 366 degrees of freedom
Multiple R-squared:  0.1435,    Adjusted R-squared:  0.1037 
F-statistic: 3.607 on 17 and 366 DF,  p-value: 2.381e-06

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' TGFB_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank 
Trait/outcome.............: TGFB_rank 
Effect size...............: 0.071789 
Standard error............: 0.054685 
Odds ratio (effect size)..: 1.074 
Lower 95% CI..............: 0.965 
Upper 95% CI..............: 1.196 
T-value...................: 1.312776 
P-value...................: 0.1900811 
R^2.......................: 0.143501 
Adjusted r^2..............: 0.103718 
Sample size of AE DB......: 2423 
Sample size of model......: 384 
Missing data %............: 84.15188 

- processing MMP2_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year + SmokerStatus, data = currentDF)

Coefficients:
             (Intercept)        currentDF[, TRAIT]                Gendermale               ORdate_year     SmokerStatusEx-smoker  
               724.86924                   0.16736                   0.20852                  -0.36196                  -0.06478  
SmokerStatusNever smoked  
                 0.32623  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.0831 -0.7391 -0.1226  0.5069  3.2575 

Coefficients:
                            Estimate Std. Error t value Pr(>|t|)    
(Intercept)               695.679535 106.750651   6.517 2.34e-10 ***
currentDF[, TRAIT]          0.149507   0.057274   2.610  0.00941 ** 
Age                        -0.008591   0.006597  -1.302  0.19361    
Gendermale                  0.214569   0.115132   1.864  0.06316 .  
ORdate_year                -0.346679   0.053255  -6.510 2.45e-10 ***
Hypertension.compositeyes  -0.057844   0.160697  -0.360  0.71908    
DiabetesStatusDiabetes      0.079644   0.130408   0.611  0.54175    
SmokerStatusEx-smoker      -0.008490   0.116642  -0.073  0.94201    
SmokerStatusNever smoked    0.398002   0.180101   2.210  0.02772 *  
Med.Statin.LLDyes          -0.197215   0.119750  -1.647  0.10043    
Med.all.antiplateletyes    -0.191792   0.188834  -1.016  0.31045    
GFR_MDRD                   -0.003148   0.002926  -1.076  0.28281    
BMI                        -0.020220   0.014551  -1.390  0.16549    
MedHx_CVDyes                0.109648   0.109604   1.000  0.31777    
stenose50-70%              -0.278791   0.774306  -0.360  0.71901    
stenose70-90%               0.210242   0.731318   0.287  0.77390    
stenose90-99%               0.140575   0.728495   0.193  0.84709    
stenose100% (Occlusion)    -0.767969   0.903227  -0.850  0.39573    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 1.012 on 371 degrees of freedom
Multiple R-squared:  0.1814,    Adjusted R-squared:  0.1439 
F-statistic: 4.836 on 17 and 371 DF,  p-value: 2.173e-09

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' MMP2_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank 
Trait/outcome.............: MMP2_rank 
Effect size...............: 0.149507 
Standard error............: 0.057274 
Odds ratio (effect size)..: 1.161 
Lower 95% CI..............: 1.038 
Upper 95% CI..............: 1.299 
T-value...................: 2.610367 
P-value...................: 0.009411002 
R^2.......................: 0.181409 
Adjusted r^2..............: 0.1439 
Sample size of AE DB......: 2423 
Sample size of model......: 389 
Missing data %............: 83.94552 

- processing MMP8_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + ORdate_year + 
    SmokerStatus, data = currentDF)

Coefficients:
             (Intercept)        currentDF[, TRAIT]               ORdate_year     SmokerStatusEx-smoker  SmokerStatusNever smoked  
               767.16792                   0.16659                  -0.38301                  -0.02479                   0.36109  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.1160 -0.6899 -0.0858  0.5500  3.0575 

Coefficients:
                            Estimate Std. Error t value Pr(>|t|)    
(Intercept)               744.468599 105.676361   7.045 9.08e-12 ***
currentDF[, TRAIT]          0.163288   0.055473   2.944  0.00345 ** 
Age                        -0.010047   0.006544  -1.535  0.12556    
Gendermale                  0.118678   0.116560   1.018  0.30926    
ORdate_year                -0.370709   0.052724  -7.031 9.91e-12 ***
Hypertension.compositeyes  -0.155406   0.157686  -0.986  0.32500    
DiabetesStatusDiabetes      0.111862   0.130719   0.856  0.39269    
SmokerStatusEx-smoker       0.035606   0.116345   0.306  0.75975    
SmokerStatusNever smoked    0.480194   0.178400   2.692  0.00743 ** 
Med.Statin.LLDyes          -0.191829   0.119504  -1.605  0.10930    
Med.all.antiplateletyes    -0.119709   0.188315  -0.636  0.52537    
GFR_MDRD                   -0.002809   0.002928  -0.959  0.33796    
BMI                        -0.027942   0.014631  -1.910  0.05694 .  
MedHx_CVDyes                0.117185   0.109192   1.073  0.28388    
stenose50-70%              -0.629163   0.777483  -0.809  0.41890    
stenose70-90%              -0.131383   0.736306  -0.178  0.85848    
stenose90-99%              -0.161700   0.731499  -0.221  0.82517    
stenose100% (Occlusion)    -1.143274   0.908480  -1.258  0.20902    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 1.01 on 371 degrees of freedom
Multiple R-squared:  0.1854,    Adjusted R-squared:  0.1481 
F-statistic: 4.967 on 17 and 371 DF,  p-value: 1.028e-09

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' MMP8_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank 
Trait/outcome.............: MMP8_rank 
Effect size...............: 0.163288 
Standard error............: 0.055473 
Odds ratio (effect size)..: 1.177 
Lower 95% CI..............: 1.056 
Upper 95% CI..............: 1.313 
T-value...................: 2.943536 
P-value...................: 0.003449031 
R^2.......................: 0.185399 
Adjusted r^2..............: 0.148072 
Sample size of AE DB......: 2423 
Sample size of model......: 389 
Missing data %............: 83.94552 

- processing MMP9_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + ORdate_year + 
    SmokerStatus, data = currentDF)

Coefficients:
             (Intercept)        currentDF[, TRAIT]               ORdate_year     SmokerStatusEx-smoker  SmokerStatusNever smoked  
               737.30920                   0.09651                  -0.36811                  -0.03005                   0.34068  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.0105 -0.6901 -0.1152  0.5444  3.0285 

Coefficients:
                            Estimate Std. Error t value Pr(>|t|)    
(Intercept)               713.167844 107.043941   6.662 9.75e-11 ***
currentDF[, TRAIT]          0.086810   0.053094   1.635   0.1029    
Age                        -0.010253   0.006596  -1.554   0.1209    
Gendermale                  0.160678   0.116239   1.382   0.1677    
ORdate_year                -0.355233   0.053410  -6.651 1.04e-10 ***
Hypertension.compositeyes  -0.117105   0.159192  -0.736   0.4624    
DiabetesStatusDiabetes      0.091006   0.131542   0.692   0.4895    
SmokerStatusEx-smoker       0.019955   0.117095   0.170   0.8648    
SmokerStatusNever smoked    0.448745   0.179728   2.497   0.0130 *  
Med.Statin.LLDyes          -0.205003   0.120378  -1.703   0.0894 .  
Med.all.antiplateletyes    -0.158464   0.189399  -0.837   0.4033    
GFR_MDRD                   -0.003108   0.002961  -1.050   0.2945    
BMI                        -0.024938   0.014714  -1.695   0.0909 .  
MedHx_CVDyes                0.126354   0.110017   1.148   0.2515    
stenose50-70%              -0.373104   0.778116  -0.479   0.6319    
stenose70-90%               0.132526   0.735448   0.180   0.8571    
stenose90-99%               0.055358   0.732581   0.076   0.9398    
stenose100% (Occlusion)    -0.852671   0.908718  -0.938   0.3487    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 1.018 on 371 degrees of freedom
Multiple R-squared:  0.1723,    Adjusted R-squared:  0.1344 
F-statistic: 4.544 on 17 and 371 DF,  p-value: 1.158e-08

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' MMP9_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank 
Trait/outcome.............: MMP9_rank 
Effect size...............: 0.08681 
Standard error............: 0.053094 
Odds ratio (effect size)..: 1.091 
Lower 95% CI..............: 0.983 
Upper 95% CI..............: 1.21 
T-value...................: 1.635015 
P-value...................: 0.102894 
R^2.......................: 0.172338 
Adjusted r^2..............: 0.134413 
Sample size of AE DB......: 2423 
Sample size of model......: 389 
Missing data %............: 83.94552 

Analysis of MCP1_pg_ml_2015_rank.

- processing IL2_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ Age + Gender + ORdate_year + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + stenose, 
    data = currentDF)

Coefficients:
             (Intercept)                       Age                Gendermale               ORdate_year     SmokerStatusEx-smoker  
              392.542541                  0.009152                  0.248164                 -0.196726                 -0.242509  
SmokerStatusNever smoked         Med.Statin.LLDyes   Med.all.antiplateletyes             stenose50-70%             stenose70-90%  
                0.095364                 -0.178209                 -0.310615                  0.561873                  1.110132  
           stenose90-99%   stenose100% (Occlusion)  
                0.934465                 -0.114191  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-2.86123 -0.57366 -0.03745  0.44256  2.66670 

Coefficients:
                            Estimate Std. Error t value Pr(>|t|)    
(Intercept)                4.030e+02  1.121e+02   3.594 0.000381 ***
currentDF[, TRAIT]        -6.417e-02  5.303e-02  -1.210 0.227275    
Age                        8.901e-03  6.581e-03   1.353 0.177186    
Gendermale                 2.308e-01  1.140e-01   2.026 0.043711 *  
ORdate_year               -2.020e-01  5.595e-02  -3.611 0.000358 ***
Hypertension.compositeyes -9.689e-02  1.563e-01  -0.620 0.535919    
DiabetesStatusDiabetes     6.399e-02  1.311e-01   0.488 0.625777    
SmokerStatusEx-smoker     -2.236e-01  1.163e-01  -1.923 0.055473 .  
SmokerStatusNever smoked   1.378e-01  1.836e-01   0.750 0.453757    
Med.Statin.LLDyes         -2.047e-01  1.163e-01  -1.760 0.079430 .  
Med.all.antiplateletyes   -3.047e-01  1.923e-01  -1.585 0.114035    
GFR_MDRD                   1.495e-03  2.969e-03   0.504 0.614915    
BMI                        2.149e-04  1.562e-02   0.014 0.989033    
MedHx_CVDyes               1.169e-01  1.084e-01   1.078 0.281703    
stenose50-70%              6.412e-01  9.428e-01   0.680 0.496954    
stenose70-90%              1.221e+00  9.000e-01   1.357 0.175799    
stenose90-99%              1.045e+00  8.985e-01   1.163 0.245840    
stenose100% (Occlusion)    9.608e-03  1.061e+00   0.009 0.992780    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.8844 on 295 degrees of freedom
Multiple R-squared:  0.1323,    Adjusted R-squared:  0.08225 
F-statistic: 2.645 on 17 and 295 DF,  p-value: 0.0004977

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ml_2015_rank ' with ' IL2_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ml_2015_rank 
Trait/outcome.............: IL2_rank 
Effect size...............: -0.064168 
Standard error............: 0.053034 
Odds ratio (effect size)..: 0.938 
Lower 95% CI..............: 0.845 
Upper 95% CI..............: 1.041 
T-value...................: -1.209928 
P-value...................: 0.227275 
R^2.......................: 0.132252 
Adjusted r^2..............: 0.082247 
Sample size of AE DB......: 2423 
Sample size of model......: 313 
Missing data %............: 87.08213 

- processing IL4_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + SmokerStatus + Med.Statin.LLD, data = currentDF)

Coefficients:
             (Intercept)        currentDF[, TRAIT]                       Age                Gendermale               ORdate_year  
              514.570221                 -0.090736                  0.008686                  0.204460                 -0.257261  
   SmokerStatusEx-smoker  SmokerStatusNever smoked         Med.Statin.LLDyes  
               -0.230470                  0.023567                 -0.192415  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-2.82607 -0.59893 -0.05389  0.47017  2.60324 

Coefficients:
                            Estimate Std. Error t value Pr(>|t|)    
(Intercept)               488.844886 120.495720   4.057 6.51e-05 ***
currentDF[, TRAIT]         -0.090320   0.055013  -1.642   0.1018    
Age                         0.007596   0.006748   1.126   0.2613    
Gendermale                  0.198266   0.118568   1.672   0.0956 .  
ORdate_year                -0.244476   0.060152  -4.064 6.32e-05 ***
Hypertension.compositeyes  -0.091807   0.162354  -0.565   0.5722    
DiabetesStatusDiabetes      0.074527   0.133376   0.559   0.5768    
SmokerStatusEx-smoker      -0.224830   0.117208  -1.918   0.0561 .  
SmokerStatusNever smoked    0.088341   0.192119   0.460   0.6460    
Med.Statin.LLDyes          -0.216649   0.120270  -1.801   0.0728 .  
Med.all.antiplateletyes    -0.234374   0.200363  -1.170   0.2431    
GFR_MDRD                    0.000623   0.003205   0.194   0.8460    
BMI                        -0.002501   0.015895  -0.157   0.8751    
MedHx_CVDyes                0.124152   0.111365   1.115   0.2659    
stenose70-90%               0.508215   0.299639   1.696   0.0910 .  
stenose90-99%               0.414293   0.293921   1.410   0.1598    
stenose100% (Occlusion)    -0.569273   0.615725  -0.925   0.3560    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.8698 on 271 degrees of freedom
Multiple R-squared:  0.1381,    Adjusted R-squared:  0.08721 
F-statistic: 2.714 on 16 and 271 DF,  p-value: 0.000502

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ml_2015_rank ' with ' IL4_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ml_2015_rank 
Trait/outcome.............: IL4_rank 
Effect size...............: -0.09032 
Standard error............: 0.055013 
Odds ratio (effect size)..: 0.914 
Lower 95% CI..............: 0.82 
Upper 95% CI..............: 1.018 
T-value...................: -1.641809 
P-value...................: 0.1017895 
R^2.......................: 0.138099 
Adjusted r^2..............: 0.087212 
Sample size of AE DB......: 2423 
Sample size of model......: 288 
Missing data %............: 88.11391 

- processing IL5_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ Gender + ORdate_year + Med.Statin.LLD + 
    MedHx_CVD + stenose, data = currentDF)

Coefficients:
            (Intercept)               Gendermale              ORdate_year        Med.Statin.LLDyes             MedHx_CVDyes            stenose70-90%  
               454.8284                   0.2136                  -0.2275                  -0.2701                   0.1515                   0.5440  
          stenose90-99%  stenose100% (Occlusion)  
                 0.4301                  -0.2911  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-2.8321 -0.5718 -0.0281  0.4503  2.4860 

Coefficients:
                            Estimate Std. Error t value Pr(>|t|)    
(Intercept)                4.794e+02  1.132e+02   4.235 3.07e-05 ***
currentDF[, TRAIT]        -5.024e-02  5.133e-02  -0.979   0.3285    
Age                        8.383e-03  6.514e-03   1.287   0.1991    
Gendermale                 2.335e-01  1.122e-01   2.082   0.0382 *  
ORdate_year               -2.398e-01  5.651e-02  -4.244 2.96e-05 ***
Hypertension.compositeyes -1.436e-01  1.526e-01  -0.941   0.3475    
DiabetesStatusDiabetes    -2.590e-03  1.303e-01  -0.020   0.9842    
SmokerStatusEx-smoker     -2.053e-01  1.132e-01  -1.814   0.0708 .  
SmokerStatusNever smoked   7.838e-02  1.877e-01   0.418   0.6766    
Med.Statin.LLDyes         -2.196e-01  1.142e-01  -1.923   0.0555 .  
Med.all.antiplateletyes   -2.461e-01  1.943e-01  -1.267   0.2063    
GFR_MDRD                   6.336e-04  2.979e-03   0.213   0.8317    
BMI                        3.290e-03  1.498e-02   0.220   0.8263    
MedHx_CVDyes               1.430e-01  1.062e-01   1.347   0.1790    
stenose70-90%              4.690e-01  2.921e-01   1.606   0.1094    
stenose90-99%              3.491e-01  2.893e-01   1.207   0.2284    
stenose100% (Occlusion)   -6.651e-01  6.098e-01  -1.091   0.2763    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.8636 on 290 degrees of freedom
Multiple R-squared:  0.1351,    Adjusted R-squared:  0.08733 
F-statistic:  2.83 on 16 and 290 DF,  p-value: 0.0002724

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ml_2015_rank ' with ' IL5_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ml_2015_rank 
Trait/outcome.............: IL5_rank 
Effect size...............: -0.050244 
Standard error............: 0.051331 
Odds ratio (effect size)..: 0.951 
Lower 95% CI..............: 0.86 
Upper 95% CI..............: 1.052 
T-value...................: -0.97881 
P-value...................: 0.3284897 
R^2.......................: 0.135052 
Adjusted r^2..............: 0.087331 
Sample size of AE DB......: 2423 
Sample size of model......: 307 
Missing data %............: 87.32976 

- processing IL6_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + SmokerStatus + Med.all.antiplatelet + 
    stenose, data = currentDF)

Coefficients:
             (Intercept)        currentDF[, TRAIT]                       Age                Gendermale               ORdate_year  
               536.89076                   0.09124                   0.01430                   0.29158                  -0.26864  
   SmokerStatusEx-smoker  SmokerStatusNever smoked   Med.all.antiplateletyes             stenose50-70%             stenose70-90%  
                -0.29724                   0.00165                  -0.25853                  -0.21202                   0.30343  
           stenose90-99%   stenose100% (Occlusion)  
                 0.13804                  -0.79164  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-2.56234 -0.56044 -0.05685  0.44205  2.87297 

Coefficients:
                            Estimate Std. Error t value Pr(>|t|)    
(Intercept)                5.149e+02  1.115e+02   4.618 5.76e-06 ***
currentDF[, TRAIT]         8.383e-02  5.097e-02   1.645   0.1010    
Age                        1.232e-02  6.825e-03   1.806   0.0720 .  
Gendermale                 2.905e-01  1.146e-01   2.534   0.0118 *  
ORdate_year               -2.574e-01  5.561e-02  -4.629 5.49e-06 ***
Hypertension.compositeyes -7.928e-02  1.587e-01  -0.499   0.6178    
DiabetesStatusDiabetes     7.003e-02  1.327e-01   0.528   0.5982    
SmokerStatusEx-smoker     -2.770e-01  1.160e-01  -2.388   0.0176 *  
SmokerStatusNever smoked   3.238e-02  1.867e-01   0.173   0.8625    
Med.Statin.LLDyes         -1.651e-01  1.163e-01  -1.419   0.1570    
Med.all.antiplateletyes   -2.393e-01  1.840e-01  -1.301   0.1944    
GFR_MDRD                  -6.664e-04  3.069e-03  -0.217   0.8283    
BMI                       -5.253e-03  1.457e-02  -0.360   0.7188    
MedHx_CVDyes               8.727e-02  1.080e-01   0.808   0.4199    
stenose50-70%             -2.776e-01  6.977e-01  -0.398   0.6910    
stenose70-90%              2.695e-01  6.507e-01   0.414   0.6790    
stenose90-99%              9.198e-02  6.475e-01   0.142   0.8871    
stenose100% (Occlusion)   -8.701e-01  8.633e-01  -1.008   0.3144    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.8929 on 298 degrees of freedom
Multiple R-squared:  0.1513,    Adjusted R-squared:  0.1029 
F-statistic: 3.126 on 17 and 298 DF,  p-value: 4.06e-05

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ml_2015_rank ' with ' IL6_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ml_2015_rank 
Trait/outcome.............: IL6_rank 
Effect size...............: 0.083834 
Standard error............: 0.050965 
Odds ratio (effect size)..: 1.087 
Lower 95% CI..............: 0.984 
Upper 95% CI..............: 1.202 
T-value...................: 1.644913 
P-value...................: 0.1010421 
R^2.......................: 0.151347 
Adjusted r^2..............: 0.102934 
Sample size of AE DB......: 2423 
Sample size of model......: 316 
Missing data %............: 86.95832 

- processing IL8_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year + Med.Statin.LLD + GFR_MDRD, data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]          Gendermale         ORdate_year   Med.Statin.LLDyes            GFR_MDRD  
        630.898226            0.294590            0.249463           -0.314914           -0.172490           -0.004928  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.0692 -0.4832 -0.1142  0.4492  2.8441 

Coefficients:
                            Estimate Std. Error t value Pr(>|t|)    
(Intercept)               633.387067 103.960623   6.093 3.54e-09 ***
currentDF[, TRAIT]          0.278350   0.051053   5.452 1.07e-07 ***
Age                         0.001968   0.006444   0.305   0.7603    
Gendermale                  0.298238   0.110575   2.697   0.0074 ** 
ORdate_year                -0.316106   0.051862  -6.095 3.49e-09 ***
Hypertension.compositeyes  -0.089396   0.152294  -0.587   0.5577    
DiabetesStatusDiabetes      0.074380   0.127177   0.585   0.5591    
SmokerStatusEx-smoker      -0.112578   0.109747  -1.026   0.3058    
SmokerStatusNever smoked    0.162170   0.183369   0.884   0.3772    
Med.Statin.LLDyes          -0.183624   0.109619  -1.675   0.0950 .  
Med.all.antiplateletyes    -0.003682   0.176039  -0.021   0.9833    
GFR_MDRD                   -0.004069   0.002787  -1.460   0.1453    
BMI                        -0.011868   0.013765  -0.862   0.3893    
MedHx_CVDyes                0.081132   0.103351   0.785   0.4331    
stenose50-70%              -0.339190   0.664109  -0.511   0.6099    
stenose70-90%               0.156846   0.612840   0.256   0.7982    
stenose90-99%               0.008115   0.610594   0.013   0.9894    
stenose100% (Occlusion)    -0.390377   0.792644  -0.492   0.6227    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.8431 on 289 degrees of freedom
Multiple R-squared:  0.2311,    Adjusted R-squared:  0.1859 
F-statistic:  5.11 on 17 and 289 DF,  p-value: 9.142e-10

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ml_2015_rank ' with ' IL8_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ml_2015_rank 
Trait/outcome.............: IL8_rank 
Effect size...............: 0.27835 
Standard error............: 0.051053 
Odds ratio (effect size)..: 1.321 
Lower 95% CI..............: 1.195 
Upper 95% CI..............: 1.46 
T-value...................: 5.452229 
P-value...................: 1.067917e-07 
R^2.......................: 0.231112 
Adjusted r^2..............: 0.185884 
Sample size of AE DB......: 2423 
Sample size of model......: 307 
Missing data %............: 87.32976 

- processing IL9_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year + DiabetesStatus + Med.Statin.LLD + GFR_MDRD, 
    data = currentDF)

Coefficients:
           (Intercept)      currentDF[, TRAIT]              Gendermale             ORdate_year  DiabetesStatusDiabetes       Med.Statin.LLDyes  
            384.488719                0.093561                0.317187               -0.191987                0.202138               -0.236999  
              GFR_MDRD  
             -0.003788  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-2.86228 -0.56593 -0.09133  0.44977  2.87992 

Coefficients:
                            Estimate Std. Error t value Pr(>|t|)    
(Intercept)                3.976e+02  9.510e+01   4.181 3.72e-05 ***
currentDF[, TRAIT]         8.820e-02  5.159e-02   1.709  0.08832 .  
Age                       -8.335e-04  6.525e-03  -0.128  0.89844    
Gendermale                 3.226e-01  1.126e-01   2.866  0.00443 ** 
ORdate_year               -1.982e-01  4.745e-02  -4.176 3.80e-05 ***
Hypertension.compositeyes -1.557e-01  1.555e-01  -1.002  0.31720    
DiabetesStatusDiabetes     2.314e-01  1.333e-01   1.736  0.08349 .  
SmokerStatusEx-smoker     -6.849e-02  1.152e-01  -0.595  0.55256    
SmokerStatusNever smoked   7.397e-02  1.718e-01   0.431  0.66704    
Med.Statin.LLDyes         -2.489e-01  1.186e-01  -2.100  0.03652 *  
Med.all.antiplateletyes   -2.231e-01  1.892e-01  -1.179  0.23912    
GFR_MDRD                  -3.231e-03  2.829e-03  -1.142  0.25419    
BMI                       -1.787e-02  1.389e-02  -1.286  0.19920    
MedHx_CVDyes               1.148e-01  1.073e-01   1.069  0.28566    
stenose50-70%             -2.741e-01  7.202e-01  -0.381  0.70378    
stenose70-90%              1.169e-01  6.716e-01   0.174  0.86195    
stenose90-99%              3.895e-02  6.685e-01   0.058  0.95357    
stenose100% (Occlusion)   -8.265e-01  8.305e-01  -0.995  0.32034    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9278 on 328 degrees of freedom
Multiple R-squared:  0.1322,    Adjusted R-squared:  0.08727 
F-statistic:  2.94 on 17 and 328 DF,  p-value: 9.979e-05

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ml_2015_rank ' with ' IL9_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ml_2015_rank 
Trait/outcome.............: IL9_rank 
Effect size...............: 0.088196 
Standard error............: 0.051594 
Odds ratio (effect size)..: 1.092 
Lower 95% CI..............: 0.987 
Upper 95% CI..............: 1.208 
T-value...................: 1.709435 
P-value...................: 0.08831622 
R^2.......................: 0.132246 
Adjusted r^2..............: 0.087271 
Sample size of AE DB......: 2423 
Sample size of model......: 346 
Missing data %............: 85.72018 

- processing IL10_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ Gender + ORdate_year + SmokerStatus + 
    Med.Statin.LLD + Med.all.antiplatelet + stenose, data = currentDF)

Coefficients:
             (Intercept)                Gendermale               ORdate_year     SmokerStatusEx-smoker  SmokerStatusNever smoked  
                476.6969                    0.3218                   -0.2382                   -0.2260                    0.1043  
       Med.Statin.LLDyes   Med.all.antiplateletyes             stenose70-90%             stenose90-99%   stenose100% (Occlusion)  
                 -0.2430                   -0.3095                    0.4474                    0.3865                   -0.7015  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-2.74045 -0.60013  0.00664  0.43651  2.50449 

Coefficients:
                            Estimate Std. Error t value Pr(>|t|)    
(Intercept)                4.916e+02  1.294e+02   3.798 0.000182 ***
currentDF[, TRAIT]        -4.521e-02  5.845e-02  -0.773 0.439964    
Age                        6.254e-03  7.019e-03   0.891 0.373785    
Gendermale                 3.129e-01  1.224e-01   2.556 0.011150 *  
ORdate_year               -2.457e-01  6.458e-02  -3.804 0.000177 ***
Hypertension.compositeyes -1.539e-01  1.699e-01  -0.906 0.365744    
DiabetesStatusDiabetes     5.404e-02  1.404e-01   0.385 0.700726    
SmokerStatusEx-smoker     -2.513e-01  1.215e-01  -2.068 0.039665 *  
SmokerStatusNever smoked   1.117e-01  1.984e-01   0.563 0.573674    
Med.Statin.LLDyes         -2.335e-01  1.229e-01  -1.900 0.058569 .  
Med.all.antiplateletyes   -2.998e-01  2.088e-01  -1.435 0.152359    
GFR_MDRD                  -1.148e-03  3.309e-03  -0.347 0.728890    
BMI                        2.322e-04  1.607e-02   0.014 0.988481    
MedHx_CVDyes               6.599e-02  1.178e-01   0.560 0.575865    
stenose70-90%              4.422e-01  3.196e-01   1.384 0.167585    
stenose90-99%              3.663e-01  3.147e-01   1.164 0.245494    
stenose100% (Occlusion)   -7.035e-01  6.363e-01  -1.106 0.269961    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.8824 on 258 degrees of freedom
Multiple R-squared:  0.1392,    Adjusted R-squared:  0.08582 
F-statistic: 2.608 on 16 and 258 DF,  p-value: 0.0008597

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ml_2015_rank ' with ' IL10_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ml_2015_rank 
Trait/outcome.............: IL10_rank 
Effect size...............: -0.045209 
Standard error............: 0.058451 
Odds ratio (effect size)..: 0.956 
Lower 95% CI..............: 0.852 
Upper 95% CI..............: 1.072 
T-value...................: -0.773451 
P-value...................: 0.4399637 
R^2.......................: 0.139206 
Adjusted r^2..............: 0.085824 
Sample size of AE DB......: 2423 
Sample size of model......: 275 
Missing data %............: 88.65043 

- processing IL12_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ Age + Gender + ORdate_year + 
    SmokerStatus, data = currentDF)

Coefficients:
             (Intercept)                       Age                Gendermale               ORdate_year     SmokerStatusEx-smoker  
               532.77260                   0.01229                   0.26064                  -0.26656                  -0.25418  
SmokerStatusNever smoked  
                 0.06294  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-2.7378 -0.5775 -0.0569  0.4343  2.5812 

Coefficients:
                            Estimate Std. Error t value Pr(>|t|)    
(Intercept)                5.162e+02  1.229e+02   4.198 3.65e-05 ***
currentDF[, TRAIT]        -6.332e-02  5.563e-02  -1.138   0.2561    
Age                        8.586e-03  6.886e-03   1.247   0.2135    
Gendermale                 2.577e-01  1.175e-01   2.194   0.0291 *  
ORdate_year               -2.581e-01  6.135e-02  -4.207 3.53e-05 ***
Hypertension.compositeyes -1.674e-01  1.644e-01  -1.018   0.3097    
DiabetesStatusDiabetes     8.757e-02  1.350e-01   0.648   0.5172    
SmokerStatusEx-smoker     -2.363e-01  1.203e-01  -1.964   0.0506 .  
SmokerStatusNever smoked   1.287e-01  1.867e-01   0.689   0.4913    
Med.Statin.LLDyes         -1.785e-01  1.199e-01  -1.488   0.1379    
Med.all.antiplateletyes   -2.245e-01  2.009e-01  -1.118   0.2647    
GFR_MDRD                  -1.184e-03  3.189e-03  -0.371   0.7107    
BMI                       -1.466e-04  1.592e-02  -0.009   0.9927    
MedHx_CVDyes               7.989e-02  1.126e-01   0.709   0.4788    
stenose70-90%              4.777e-01  2.990e-01   1.598   0.1112    
stenose90-99%              3.531e-01  2.944e-01   1.199   0.2315    
stenose100% (Occlusion)   -6.713e-01  7.179e-01  -0.935   0.3506    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.8686 on 270 degrees of freedom
Multiple R-squared:  0.1387,    Adjusted R-squared:  0.08761 
F-statistic: 2.716 on 16 and 270 DF,  p-value: 0.0004971

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ml_2015_rank ' with ' IL12_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ml_2015_rank 
Trait/outcome.............: IL12_rank 
Effect size...............: -0.063318 
Standard error............: 0.055632 
Odds ratio (effect size)..: 0.939 
Lower 95% CI..............: 0.842 
Upper 95% CI..............: 1.047 
T-value...................: -1.138172 
P-value...................: 0.2560576 
R^2.......................: 0.138651 
Adjusted r^2..............: 0.087608 
Sample size of AE DB......: 2423 
Sample size of model......: 287 
Missing data %............: 88.15518 

- processing IL13_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year + Med.Statin.LLD + Med.all.antiplatelet + stenose, 
    data = currentDF)

Coefficients:
            (Intercept)       currentDF[, TRAIT]               Gendermale              ORdate_year        Med.Statin.LLDyes  Med.all.antiplateletyes  
              411.04632                  0.10993                  0.25064                 -0.20526                 -0.17670                 -0.25620  
          stenose50-70%            stenose70-90%            stenose90-99%  stenose100% (Occlusion)  
               -0.37642                  0.14323                  0.01004                 -0.77295  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-2.84779 -0.58825 -0.09605  0.49423  2.90353 

Coefficients:
                            Estimate Std. Error t value Pr(>|t|)    
(Intercept)               415.427878  90.309630   4.600 5.79e-06 ***
currentDF[, TRAIT]          0.113108   0.048211   2.346  0.01949 *  
Age                         0.002954   0.005968   0.495  0.62094    
Gendermale                  0.267744   0.102927   2.601  0.00966 ** 
ORdate_year                -0.207271   0.045061  -4.600 5.79e-06 ***
Hypertension.compositeyes  -0.037186   0.139942  -0.266  0.79060    
DiabetesStatusDiabetes      0.123337   0.117763   1.047  0.29562    
SmokerStatusEx-smoker      -0.108876   0.104663  -1.040  0.29889    
SmokerStatusNever smoked    0.023734   0.161413   0.147  0.88318    
Med.Statin.LLDyes          -0.184569   0.108450  -1.702  0.08961 .  
Med.all.antiplateletyes    -0.224056   0.164980  -1.358  0.17525    
GFR_MDRD                   -0.002470   0.002644  -0.934  0.35086    
BMI                        -0.014774   0.012759  -1.158  0.24763    
MedHx_CVDyes                0.077430   0.097591   0.793  0.42804    
stenose50-70%              -0.374935   0.698676  -0.537  0.59184    
stenose70-90%               0.134328   0.657326   0.204  0.83819    
stenose90-99%              -0.015391   0.655487  -0.023  0.98128    
stenose100% (Occlusion)    -0.784723   0.809827  -0.969  0.33317    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.909 on 375 degrees of freedom
Multiple R-squared:  0.1231,    Adjusted R-squared:  0.08333 
F-statistic: 3.096 on 17 and 375 DF,  p-value: 3.899e-05

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ml_2015_rank ' with ' IL13_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ml_2015_rank 
Trait/outcome.............: IL13_rank 
Effect size...............: 0.113108 
Standard error............: 0.048211 
Odds ratio (effect size)..: 1.12 
Lower 95% CI..............: 1.019 
Upper 95% CI..............: 1.231 
T-value...................: 2.346125 
P-value...................: 0.01948982 
R^2.......................: 0.123083 
Adjusted r^2..............: 0.083329 
Sample size of AE DB......: 2423 
Sample size of model......: 393 
Missing data %............: 83.78044 

- processing IL21_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year + Med.Statin.LLD + Med.all.antiplatelet + stenose, 
    data = currentDF)

Coefficients:
            (Intercept)       currentDF[, TRAIT]               Gendermale              ORdate_year        Med.Statin.LLDyes  Med.all.antiplateletyes  
             405.182671                 0.104808                 0.244204                -0.202331                -0.179626                -0.251704  
          stenose50-70%            stenose70-90%            stenose90-99%  stenose100% (Occlusion)  
              -0.388887                 0.136948                 0.004196                -0.802007  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-2.83602 -0.60273 -0.08754  0.48268  2.91794 

Coefficients:
                            Estimate Std. Error t value Pr(>|t|)    
(Intercept)               409.015054  90.055759   4.542 7.52e-06 ***
currentDF[, TRAIT]          0.106463   0.048741   2.184   0.0296 *  
Age                         0.002770   0.005937   0.467   0.6411    
Gendermale                  0.260558   0.102780   2.535   0.0116 *  
ORdate_year                -0.204048   0.044933  -4.541 7.54e-06 ***
Hypertension.compositeyes  -0.043645   0.139743  -0.312   0.7550    
DiabetesStatusDiabetes      0.114297   0.117547   0.972   0.3315    
SmokerStatusEx-smoker      -0.102813   0.104408  -0.985   0.3254    
SmokerStatusNever smoked    0.025817   0.161324   0.160   0.8729    
Med.Statin.LLDyes          -0.188168   0.108176  -1.739   0.0828 .  
Med.all.antiplateletyes    -0.220278   0.164886  -1.336   0.1824    
GFR_MDRD                   -0.002499   0.002643  -0.946   0.3449    
BMI                        -0.015318   0.012747  -1.202   0.2302    
MedHx_CVDyes                0.077591   0.097267   0.798   0.4255    
stenose50-70%              -0.388909   0.699121  -0.556   0.5783    
stenose70-90%               0.128290   0.657599   0.195   0.8454    
stenose90-99%              -0.019985   0.655858  -0.030   0.9757    
stenose100% (Occlusion)    -0.820034   0.809930  -1.012   0.3120    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9088 on 376 degrees of freedom
Multiple R-squared:  0.1213,    Adjusted R-squared:  0.0816 
F-statistic: 3.054 on 17 and 376 DF,  p-value: 4.895e-05

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ml_2015_rank ' with ' IL21_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ml_2015_rank 
Trait/outcome.............: IL21_rank 
Effect size...............: 0.106463 
Standard error............: 0.048741 
Odds ratio (effect size)..: 1.112 
Lower 95% CI..............: 1.011 
Upper 95% CI..............: 1.224 
T-value...................: 2.184252 
P-value...................: 0.02956092 
R^2.......................: 0.121324 
Adjusted r^2..............: 0.081597 
Sample size of AE DB......: 2423 
Sample size of model......: 394 
Missing data %............: 83.73917 

- processing INFG_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year + SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet, 
    data = currentDF)

Coefficients:
             (Intercept)        currentDF[, TRAIT]                Gendermale               ORdate_year     SmokerStatusEx-smoker  
               621.99368                  -0.09008                   0.32069                  -0.31052                  -0.16285  
SmokerStatusNever smoked         Med.Statin.LLDyes   Med.all.antiplateletyes  
                 0.16166                  -0.23576                  -0.26283  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-2.71445 -0.58797 -0.02635  0.45200  2.75578 

Coefficients:
                            Estimate Std. Error t value Pr(>|t|)    
(Intercept)               612.052639 117.722658   5.199 3.80e-07 ***
currentDF[, TRAIT]         -0.080391   0.060445  -1.330  0.18458    
Age                         0.005485   0.006683   0.821  0.41247    
Gendermale                  0.329615   0.116534   2.828  0.00501 ** 
ORdate_year                -0.305579   0.058730  -5.203 3.73e-07 ***
Hypertension.compositeyes  -0.120130   0.160966  -0.746  0.45609    
DiabetesStatusDiabetes      0.089243   0.131354   0.679  0.49742    
SmokerStatusEx-smoker      -0.202089   0.115821  -1.745  0.08208 .  
SmokerStatusNever smoked    0.181199   0.187965   0.964  0.33585    
Med.Statin.LLDyes          -0.239536   0.120075  -1.995  0.04700 *  
Med.all.antiplateletyes    -0.284206   0.183541  -1.548  0.12261    
GFR_MDRD                   -0.001487   0.002996  -0.496  0.61998    
BMI                        -0.008408   0.014307  -0.588  0.55720    
MedHx_CVDyes                0.058302   0.111399   0.523  0.60112    
stenose50-70%              -0.252475   0.707159  -0.357  0.72133    
stenose70-90%               0.173170   0.649749   0.267  0.79003    
stenose90-99%               0.048313   0.645777   0.075  0.94041    
stenose100% (Occlusion)    -1.049197   0.928350  -1.130  0.25934    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.8866 on 288 degrees of freedom
Multiple R-squared:  0.163, Adjusted R-squared:  0.1136 
F-statistic:   3.3 on 17 and 288 DF,  p-value: 1.674e-05

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ml_2015_rank ' with ' INFG_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ml_2015_rank 
Trait/outcome.............: INFG_rank 
Effect size...............: -0.080391 
Standard error............: 0.060445 
Odds ratio (effect size)..: 0.923 
Lower 95% CI..............: 0.82 
Upper 95% CI..............: 1.039 
T-value...................: -1.329984 
P-value...................: 0.1845759 
R^2.......................: 0.163039 
Adjusted r^2..............: 0.113635 
Sample size of AE DB......: 2423 
Sample size of model......: 306 
Missing data %............: 87.37103 

- processing TNFA_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ Gender + ORdate_year + Med.Statin.LLD, 
    data = currentDF)

Coefficients:
      (Intercept)         Gendermale        ORdate_year  Med.Statin.LLDyes  
         556.5560             0.2372            -0.2780            -0.1648  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-2.7754 -0.5489 -0.0152  0.4509  2.5088 

Coefficients:
                            Estimate Std. Error t value Pr(>|t|)    
(Intercept)                5.433e+02  1.232e+02   4.412 1.50e-05 ***
currentDF[, TRAIT]        -3.268e-02  5.481e-02  -0.596   0.5516    
Age                        7.883e-03  6.839e-03   1.153   0.2501    
Gendermale                 2.726e-01  1.186e-01   2.298   0.0223 *  
ORdate_year               -2.718e-01  6.148e-02  -4.420 1.44e-05 ***
Hypertension.compositeyes -1.085e-01  1.638e-01  -0.662   0.5084    
DiabetesStatusDiabetes    -4.051e-02  1.357e-01  -0.299   0.7655    
SmokerStatusEx-smoker     -1.902e-01  1.203e-01  -1.582   0.1149    
SmokerStatusNever smoked   6.383e-02  1.923e-01   0.332   0.7402    
Med.Statin.LLDyes         -1.618e-01  1.197e-01  -1.352   0.1776    
Med.all.antiplateletyes   -1.498e-01  2.050e-01  -0.730   0.4658    
GFR_MDRD                  -5.336e-04  3.171e-03  -0.168   0.8665    
BMI                        2.839e-03  1.606e-02   0.177   0.8598    
MedHx_CVDyes               8.708e-02  1.144e-01   0.761   0.4472    
stenose70-90%              4.288e-01  2.998e-01   1.430   0.1539    
stenose90-99%              3.476e-01  2.943e-01   1.181   0.2387    
stenose100% (Occlusion)   -5.880e-01  7.201e-01  -0.817   0.4149    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.8656 on 262 degrees of freedom
Multiple R-squared:  0.1332,    Adjusted R-squared:  0.08031 
F-statistic: 2.517 on 16 and 262 DF,  p-value: 0.001306

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ml_2015_rank ' with ' TNFA_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ml_2015_rank 
Trait/outcome.............: TNFA_rank 
Effect size...............: -0.032677 
Standard error............: 0.05481 
Odds ratio (effect size)..: 0.968 
Lower 95% CI..............: 0.869 
Upper 95% CI..............: 1.078 
T-value...................: -0.596184 
P-value...................: 0.5515672 
R^2.......................: 0.133239 
Adjusted r^2..............: 0.080308 
Sample size of AE DB......: 2423 
Sample size of model......: 279 
Missing data %............: 88.48535 

- processing MIF_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year + Med.Statin.LLD + Med.all.antiplatelet + stenose, 
    data = currentDF)

Coefficients:
            (Intercept)       currentDF[, TRAIT]               Gendermale              ORdate_year        Med.Statin.LLDyes  Med.all.antiplateletyes  
              327.59797                  0.08919                  0.25491                 -0.16366                 -0.18181                 -0.25784  
          stenose50-70%            stenose70-90%            stenose90-99%  stenose100% (Occlusion)  
               -0.27839                  0.23342                  0.09565                 -0.73167  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-2.73867 -0.57017 -0.07035  0.47988  3.01508 

Coefficients:
                            Estimate Std. Error t value Pr(>|t|)    
(Intercept)               338.199890  97.550336   3.467 0.000587 ***
currentDF[, TRAIT]          0.087501   0.053520   1.635 0.102901    
Age                         0.001857   0.005921   0.314 0.753939    
Gendermale                  0.269380   0.102894   2.618 0.009201 ** 
ORdate_year                -0.168710   0.048674  -3.466 0.000589 ***
Hypertension.compositeyes  -0.038802   0.140333  -0.277 0.782315    
DiabetesStatusDiabetes      0.129309   0.118727   1.089 0.276795    
SmokerStatusEx-smoker      -0.070581   0.104977  -0.672 0.501775    
SmokerStatusNever smoked    0.079068   0.160842   0.492 0.623297    
Med.Statin.LLDyes          -0.192336   0.108491  -1.773 0.077065 .  
Med.all.antiplateletyes    -0.229251   0.165815  -1.383 0.167619    
GFR_MDRD                   -0.002235   0.002668  -0.838 0.402740    
BMI                        -0.017199   0.012801  -1.344 0.179884    
MedHx_CVDyes                0.072400   0.097705   0.741 0.459152    
stenose50-70%              -0.308804   0.699305  -0.442 0.659043    
stenose70-90%               0.200661   0.657685   0.305 0.760457    
stenose90-99%               0.051597   0.655860   0.079 0.937337    
stenose100% (Occlusion)    -0.787362   0.811876  -0.970 0.332767    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9113 on 376 degrees of freedom
Multiple R-squared:  0.1165,    Adjusted R-squared:  0.07651 
F-statistic: 2.915 on 17 and 376 DF,  p-value: 0.0001035

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ml_2015_rank ' with ' MIF_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ml_2015_rank 
Trait/outcome.............: MIF_rank 
Effect size...............: 0.087501 
Standard error............: 0.05352 
Odds ratio (effect size)..: 1.091 
Lower 95% CI..............: 0.983 
Upper 95% CI..............: 1.212 
T-value...................: 1.634929 
P-value...................: 0.1029007 
R^2.......................: 0.116456 
Adjusted r^2..............: 0.076509 
Sample size of AE DB......: 2423 
Sample size of model......: 394 
Missing data %............: 83.73917 

- processing MCP1_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year + Med.Statin.LLD + GFR_MDRD, data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]          Gendermale         ORdate_year   Med.Statin.LLDyes            GFR_MDRD  
        276.033577            0.232392            0.233467           -0.137843           -0.150335           -0.004144  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-3.05653 -0.61057 -0.04983  0.49520  2.92997 

Coefficients:
                            Estimate Std. Error t value Pr(>|t|)    
(Intercept)               294.072490  89.527059   3.285  0.00112 ** 
currentDF[, TRAIT]          0.229772   0.045925   5.003 8.71e-07 ***
Age                         0.002554   0.005791   0.441  0.65949    
Gendermale                  0.236517   0.100829   2.346  0.01951 *  
ORdate_year                -0.146876   0.044663  -3.289  0.00110 ** 
Hypertension.compositeyes  -0.014016   0.136176  -0.103  0.91808    
DiabetesStatusDiabetes      0.166272   0.115477   1.440  0.15075    
SmokerStatusEx-smoker      -0.081742   0.101723  -0.804  0.42216    
SmokerStatusNever smoked    0.024922   0.156109   0.160  0.87325    
Med.Statin.LLDyes          -0.162972   0.105611  -1.543  0.12365    
Med.all.antiplateletyes    -0.180003   0.164625  -1.093  0.27492    
GFR_MDRD                   -0.002865   0.002574  -1.113  0.26635    
BMI                        -0.010551   0.012479  -0.845  0.39840    
MedHx_CVDyes                0.057482   0.095203   0.604  0.54635    
stenose50-70%              -0.170783   0.676686  -0.252  0.80089    
stenose70-90%               0.315509   0.635829   0.496  0.62003    
stenose90-99%               0.208862   0.633630   0.330  0.74187    
stenose100% (Occlusion)    -0.388750   0.788899  -0.493  0.62246    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.8819 on 372 degrees of freedom
Multiple R-squared:  0.1648,    Adjusted R-squared:  0.1266 
F-statistic: 4.318 on 17 and 372 DF,  p-value: 4.187e-08

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ml_2015_rank ' with ' MCP1_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ml_2015_rank 
Trait/outcome.............: MCP1_rank 
Effect size...............: 0.229772 
Standard error............: 0.045925 
Odds ratio (effect size)..: 1.258 
Lower 95% CI..............: 1.15 
Upper 95% CI..............: 1.377 
T-value...................: 5.003229 
P-value...................: 8.711731e-07 
R^2.......................: 0.164813 
Adjusted r^2..............: 0.126645 
Sample size of AE DB......: 2423 
Sample size of model......: 390 
Missing data %............: 83.90425 

- processing MIP1a_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year + DiabetesStatus + Med.Statin.LLD, data = currentDF)

Coefficients:
           (Intercept)      currentDF[, TRAIT]              Gendermale             ORdate_year  DiabetesStatusDiabetes       Med.Statin.LLDyes  
              390.8669                  0.1196                  0.2838                 -0.1953                  0.1815                 -0.2409  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-2.85101 -0.60103 -0.09931  0.46756  2.87469 

Coefficients:
                            Estimate Std. Error t value Pr(>|t|)    
(Intercept)                3.936e+02  9.324e+01   4.221 3.12e-05 ***
currentDF[, TRAIT]         1.233e-01  5.143e-02   2.398  0.01703 *  
Age                        1.084e-04  6.371e-03   0.017  0.98644    
Gendermale                 2.983e-01  1.109e-01   2.691  0.00749 ** 
ORdate_year               -1.962e-01  4.653e-02  -4.217 3.17e-05 ***
Hypertension.compositeyes -1.460e-01  1.499e-01  -0.974  0.33074    
DiabetesStatusDiabetes     1.943e-01  1.267e-01   1.533  0.12620    
SmokerStatusEx-smoker     -1.072e-01  1.123e-01  -0.955  0.34044    
SmokerStatusNever smoked   3.720e-02  1.686e-01   0.221  0.82549    
Med.Statin.LLDyes         -2.502e-01  1.158e-01  -2.160  0.03150 *  
Med.all.antiplateletyes   -1.973e-01  1.841e-01  -1.072  0.28457    
GFR_MDRD                  -2.464e-03  2.747e-03  -0.897  0.37043    
BMI                       -1.472e-02  1.340e-02  -1.099  0.27257    
MedHx_CVDyes               9.074e-02  1.049e-01   0.865  0.38748    
stenose50-70%             -3.553e-01  7.163e-01  -0.496  0.62020    
stenose70-90%              3.845e-02  6.682e-01   0.058  0.95415    
stenose90-99%             -5.637e-02  6.657e-01  -0.085  0.93256    
stenose100% (Occlusion)   -8.718e-01  8.247e-01  -1.057  0.29121    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9209 on 339 degrees of freedom
Multiple R-squared:  0.1316,    Adjusted R-squared:  0.0881 
F-statistic: 3.023 on 17 and 339 DF,  p-value: 6.264e-05

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ml_2015_rank ' with ' MIP1a_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ml_2015_rank 
Trait/outcome.............: MIP1a_rank 
Effect size...............: 0.123314 
Standard error............: 0.051427 
Odds ratio (effect size)..: 1.131 
Lower 95% CI..............: 1.023 
Upper 95% CI..............: 1.251 
T-value...................: 2.397858 
P-value...................: 0.0170316 
R^2.......................: 0.131645 
Adjusted r^2..............: 0.088099 
Sample size of AE DB......: 2423 
Sample size of model......: 357 
Missing data %............: 85.2662 

- processing RANTES_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year + Med.Statin.LLD + GFR_MDRD, data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]          Gendermale         ORdate_year   Med.Statin.LLDyes            GFR_MDRD  
        305.057176            0.094953            0.262233           -0.152326           -0.181767           -0.004042  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-2.71821 -0.56090 -0.08476  0.48422  2.96589 

Coefficients:
                            Estimate Std. Error t value Pr(>|t|)   
(Intercept)               316.791237  95.783310   3.307  0.00103 **
currentDF[, TRAIT]          0.109248   0.050329   2.171  0.03059 * 
Age                         0.001929   0.005936   0.325  0.74536   
Gendermale                  0.262922   0.104073   2.526  0.01194 * 
ORdate_year                -0.158012   0.047789  -3.306  0.00104 **
Hypertension.compositeyes  -0.110746   0.141509  -0.783  0.43436   
DiabetesStatusDiabetes      0.170591   0.119654   1.426  0.15480   
SmokerStatusEx-smoker      -0.058091   0.104846  -0.554  0.57987   
SmokerStatusNever smoked    0.080405   0.160410   0.501  0.61650   
Med.Statin.LLDyes          -0.199272   0.108726  -1.833  0.06764 . 
Med.all.antiplateletyes    -0.176983   0.169594  -1.044  0.29737   
GFR_MDRD                   -0.003006   0.002650  -1.135  0.25729   
BMI                        -0.017358   0.012826  -1.353  0.17676   
MedHx_CVDyes                0.083674   0.098586   0.849  0.39658   
stenose50-70%              -0.274462   0.698422  -0.393  0.69456   
stenose70-90%               0.197684   0.653277   0.303  0.76236   
stenose90-99%               0.102251   0.650674   0.157  0.87522   
stenose100% (Occlusion)    -0.839014   0.809301  -1.037  0.30055   
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9056 on 369 degrees of freedom
Multiple R-squared:  0.1196,    Adjusted R-squared:  0.07904 
F-statistic: 2.949 on 17 and 369 DF,  p-value: 8.759e-05

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ml_2015_rank ' with ' RANTES_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ml_2015_rank 
Trait/outcome.............: RANTES_rank 
Effect size...............: 0.109248 
Standard error............: 0.050329 
Odds ratio (effect size)..: 1.115 
Lower 95% CI..............: 1.011 
Upper 95% CI..............: 1.231 
T-value...................: 2.170697 
P-value...................: 0.03059111 
R^2.......................: 0.119599 
Adjusted r^2..............: 0.079039 
Sample size of AE DB......: 2423 
Sample size of model......: 387 
Missing data %............: 84.02806 

- processing MIG_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ Gender + ORdate_year + Med.Statin.LLD + 
    Med.all.antiplatelet + stenose, data = currentDF)

Coefficients:
            (Intercept)               Gendermale              ORdate_year        Med.Statin.LLDyes  Med.all.antiplateletyes            stenose50-70%  
               397.1635                   0.2619                  -0.1984                  -0.1993                  -0.2726                  -0.2302  
          stenose70-90%            stenose90-99%  stenose100% (Occlusion)  
                 0.2540                   0.1541                  -0.7695  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-2.83555 -0.57764 -0.07849  0.47187  2.93866 

Coefficients:
                            Estimate Std. Error t value Pr(>|t|)    
(Intercept)               433.402151  95.084317   4.558 7.05e-06 ***
currentDF[, TRAIT]          0.057170   0.051539   1.109   0.2680    
Age                         0.001490   0.006128   0.243   0.8080    
Gendermale                  0.267166   0.105118   2.542   0.0114 *  
ORdate_year                -0.216152   0.047444  -4.556 7.12e-06 ***
Hypertension.compositeyes  -0.083627   0.143210  -0.584   0.5596    
DiabetesStatusDiabetes      0.149945   0.121110   1.238   0.2165    
SmokerStatusEx-smoker      -0.088808   0.107050  -0.830   0.4073    
SmokerStatusNever smoked    0.026311   0.166229   0.158   0.8743    
Med.Statin.LLDyes          -0.207232   0.110477  -1.876   0.0615 .  
Med.all.antiplateletyes    -0.251581   0.169125  -1.488   0.1377    
GFR_MDRD                   -0.002510   0.002682  -0.936   0.3500    
BMI                        -0.015311   0.012951  -1.182   0.2379    
MedHx_CVDyes                0.050956   0.100224   0.508   0.6115    
stenose50-70%              -0.332955   0.708961  -0.470   0.6389    
stenose70-90%               0.149226   0.663405   0.225   0.8222    
stenose90-99%               0.036439   0.661283   0.055   0.9561    
stenose100% (Occlusion)    -0.870780   0.818548  -1.064   0.2881    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9165 on 365 degrees of freedom
Multiple R-squared:  0.1144,    Adjusted R-squared:  0.07314 
F-statistic: 2.773 on 17 and 365 DF,  p-value: 0.0002245

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ml_2015_rank ' with ' MIG_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ml_2015_rank 
Trait/outcome.............: MIG_rank 
Effect size...............: 0.05717 
Standard error............: 0.051539 
Odds ratio (effect size)..: 1.059 
Lower 95% CI..............: 0.957 
Upper 95% CI..............: 1.171 
T-value...................: 1.109267 
P-value...................: 0.2680453 
R^2.......................: 0.114389 
Adjusted r^2..............: 0.073141 
Sample size of AE DB......: 2423 
Sample size of model......: 383 
Missing data %............: 84.19315 

- processing IP10_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year + DiabetesStatus + Med.Statin.LLD + MedHx_CVD, 
    data = currentDF)

Coefficients:
           (Intercept)      currentDF[, TRAIT]              Gendermale             ORdate_year  DiabetesStatusDiabetes       Med.Statin.LLDyes  
              394.1860                  0.1118                  0.2846                 -0.1970                  0.1867                 -0.2111  
          MedHx_CVDyes  
                0.1530  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-2.80479 -0.55718 -0.07259  0.49249  2.92738 

Coefficients:
                            Estimate Std. Error t value Pr(>|t|)    
(Intercept)               392.264600  93.612243   4.190 3.58e-05 ***
currentDF[, TRAIT]          0.114320   0.050694   2.255  0.02478 *  
Age                         0.001696   0.006430   0.264  0.79215    
Gendermale                  0.291645   0.109263   2.669  0.00798 ** 
ORdate_year                -0.195688   0.046707  -4.190 3.58e-05 ***
Hypertension.compositeyes  -0.096244   0.148954  -0.646  0.51864    
DiabetesStatusDiabetes      0.198566   0.127435   1.558  0.12014    
SmokerStatusEx-smoker      -0.092502   0.112632  -0.821  0.41208    
SmokerStatusNever smoked   -0.060865   0.175315  -0.347  0.72868    
Med.Statin.LLDyes          -0.221663   0.114899  -1.929  0.05456 .  
Med.all.antiplateletyes    -0.178895   0.173723  -1.030  0.30387    
GFR_MDRD                   -0.002547   0.002792  -0.912  0.36224    
BMI                        -0.015900   0.013497  -1.178  0.23962    
MedHx_CVDyes                0.150332   0.104125   1.444  0.14975    
stenose50-70%              -0.328698   0.704867  -0.466  0.64129    
stenose70-90%               0.119639   0.660407   0.181  0.85635    
stenose90-99%               0.012923   0.657247   0.020  0.98432    
stenose100% (Occlusion)    -0.687557   0.815708  -0.843  0.39989    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9122 on 332 degrees of freedom
Multiple R-squared:  0.1314,    Adjusted R-squared:  0.08696 
F-statistic: 2.955 on 17 and 332 DF,  p-value: 9.137e-05

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ml_2015_rank ' with ' IP10_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ml_2015_rank 
Trait/outcome.............: IP10_rank 
Effect size...............: 0.11432 
Standard error............: 0.050694 
Odds ratio (effect size)..: 1.121 
Lower 95% CI..............: 1.015 
Upper 95% CI..............: 1.238 
T-value...................: 2.255113 
P-value...................: 0.02477717 
R^2.......................: 0.131437 
Adjusted r^2..............: 0.086963 
Sample size of AE DB......: 2423 
Sample size of model......: 350 
Missing data %............: 85.5551 

- processing Eotaxin1_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year + Med.Statin.LLD + Med.all.antiplatelet + stenose, 
    data = currentDF)

Coefficients:
            (Intercept)       currentDF[, TRAIT]               Gendermale              ORdate_year        Med.Statin.LLDyes  Med.all.antiplateletyes  
              414.66554                  0.08220                  0.24220                 -0.20708                 -0.17596                 -0.24872  
          stenose50-70%            stenose70-90%            stenose90-99%  stenose100% (Occlusion)  
               -0.36331                  0.16201                  0.03217                 -0.80655  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-2.87499 -0.58734 -0.07708  0.44780  2.97087 

Coefficients:
                            Estimate Std. Error t value Pr(>|t|)    
(Intercept)               417.498390  90.931970   4.591 6.02e-06 ***
currentDF[, TRAIT]          0.080481   0.050107   1.606   0.1091    
Age                         0.002049   0.005935   0.345   0.7301    
Gendermale                  0.260287   0.103599   2.512   0.0124 *  
ORdate_year                -0.208268   0.045369  -4.591 6.04e-06 ***
Hypertension.compositeyes  -0.050677   0.140089  -0.362   0.7177    
DiabetesStatusDiabetes      0.110263   0.117855   0.936   0.3501    
SmokerStatusEx-smoker      -0.099123   0.104723  -0.947   0.3445    
SmokerStatusNever smoked    0.033779   0.162004   0.209   0.8349    
Med.Statin.LLDyes          -0.185243   0.108516  -1.707   0.0886 .  
Med.all.antiplateletyes    -0.218136   0.165403  -1.319   0.1880    
GFR_MDRD                   -0.002504   0.002653  -0.944   0.3458    
BMI                        -0.015520   0.012784  -1.214   0.2255    
MedHx_CVDyes                0.077145   0.097579   0.791   0.4297    
stenose50-70%              -0.364847   0.701528  -0.520   0.6033    
stenose70-90%               0.154109   0.659930   0.234   0.8155    
stenose90-99%               0.010521   0.658143   0.016   0.9873    
stenose100% (Occlusion)    -0.828383   0.812917  -1.019   0.3088    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9114 on 376 degrees of freedom
Multiple R-squared:  0.1162,    Adjusted R-squared:  0.07628 
F-statistic: 2.909 on 17 and 376 DF,  p-value: 0.0001069

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ml_2015_rank ' with ' Eotaxin1_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ml_2015_rank 
Trait/outcome.............: Eotaxin1_rank 
Effect size...............: 0.080481 
Standard error............: 0.050107 
Odds ratio (effect size)..: 1.084 
Lower 95% CI..............: 0.982 
Upper 95% CI..............: 1.196 
T-value...................: 1.606182 
P-value...................: 0.1090734 
R^2.......................: 0.116239 
Adjusted r^2..............: 0.076281 
Sample size of AE DB......: 2423 
Sample size of model......: 394 
Missing data %............: 83.73917 

- processing TARC_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year + Hypertension.composite + Med.Statin.LLD + GFR_MDRD, 
    data = currentDF)

Coefficients:
              (Intercept)         currentDF[, TRAIT]                 Gendermale                ORdate_year  Hypertension.compositeyes  
               237.723792                   0.128988                   0.237129                  -0.118596                  -0.202177  
        Med.Statin.LLDyes                   GFR_MDRD  
                -0.233406                  -0.004844  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-2.7881 -0.5603 -0.1068  0.4896  2.7203 

Coefficients:
                            Estimate Std. Error t value Pr(>|t|)  
(Intercept)                2.632e+02  1.113e+02   2.364   0.0187 *
currentDF[, TRAIT]         1.240e-01  5.316e-02   2.333   0.0203 *
Age                        1.261e-04  6.320e-03   0.020   0.9841  
Gendermale                 2.380e-01  1.104e-01   2.156   0.0318 *
ORdate_year               -1.310e-01  5.556e-02  -2.358   0.0190 *
Hypertension.compositeyes -2.000e-01  1.487e-01  -1.345   0.1796  
DiabetesStatusDiabetes     1.425e-01  1.279e-01   1.114   0.2662  
SmokerStatusEx-smoker     -3.534e-02  1.133e-01  -0.312   0.7553  
SmokerStatusNever smoked   6.836e-02  1.678e-01   0.408   0.6839  
Med.Statin.LLDyes         -2.679e-01  1.194e-01  -2.243   0.0256 *
Med.all.antiplateletyes   -1.227e-01  1.787e-01  -0.687   0.4928  
GFR_MDRD                  -4.296e-03  2.912e-03  -1.475   0.1412  
BMI                       -2.046e-02  1.398e-02  -1.464   0.1443  
MedHx_CVDyes               3.161e-02  1.064e-01   0.297   0.7667  
stenose50-70%             -3.162e-01  7.028e-01  -0.450   0.6531  
stenose70-90%              1.214e-01  6.552e-01   0.185   0.8531  
stenose90-99%              1.514e-02  6.531e-01   0.023   0.9815  
stenose100% (Occlusion)   -7.670e-01  8.121e-01  -0.945   0.3456  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9061 on 318 degrees of freedom
Multiple R-squared:  0.108, Adjusted R-squared:  0.06026 
F-statistic: 2.264 on 17 and 318 DF,  p-value: 0.00319

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ml_2015_rank ' with ' TARC_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ml_2015_rank 
Trait/outcome.............: TARC_rank 
Effect size...............: 0.124034 
Standard error............: 0.053158 
Odds ratio (effect size)..: 1.132 
Lower 95% CI..............: 1.02 
Upper 95% CI..............: 1.256 
T-value...................: 2.333299 
P-value...................: 0.02025553 
R^2.......................: 0.107952 
Adjusted r^2..............: 0.060264 
Sample size of AE DB......: 2423 
Sample size of model......: 336 
Missing data %............: 86.13289 

- processing PARC_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year + Med.Statin.LLD, data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]          Gendermale         ORdate_year   Med.Statin.LLDyes  
          312.9352              0.1300              0.2676             -0.1564             -0.1703  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-2.76275 -0.56777 -0.06522  0.49499  3.06302 

Coefficients:
                            Estimate Std. Error t value Pr(>|t|)    
(Intercept)               334.699245  94.671396   3.535 0.000458 ***
currentDF[, TRAIT]          0.109715   0.050424   2.176 0.030190 *  
Age                         0.001597   0.005887   0.271 0.786364    
Gendermale                  0.282247   0.102195   2.762 0.006030 ** 
ORdate_year                -0.167046   0.047225  -3.537 0.000455 ***
Hypertension.compositeyes  -0.022396   0.140390  -0.160 0.873339    
DiabetesStatusDiabetes      0.130251   0.118046   1.103 0.270563    
SmokerStatusEx-smoker      -0.083711   0.104194  -0.803 0.422246    
SmokerStatusNever smoked    0.053518   0.160351   0.334 0.738749    
Med.Statin.LLDyes          -0.191845   0.108187  -1.773 0.076993 .  
Med.all.antiplateletyes    -0.182511   0.165129  -1.105 0.269751    
GFR_MDRD                   -0.002411   0.002645  -0.911 0.362630    
BMI                        -0.015971   0.012744  -1.253 0.210910    
MedHx_CVDyes                0.074556   0.097314   0.766 0.444079    
stenose50-70%              -0.169455   0.698458  -0.243 0.808437    
stenose70-90%               0.300234   0.655380   0.458 0.647140    
stenose90-99%               0.157672   0.652982   0.241 0.809327    
stenose100% (Occlusion)    -0.581800   0.813639  -0.715 0.475017    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9088 on 376 degrees of freedom
Multiple R-squared:  0.1212,    Adjusted R-squared:  0.08151 
F-statistic: 3.051 on 17 and 376 DF,  p-value: 4.959e-05

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ml_2015_rank ' with ' PARC_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ml_2015_rank 
Trait/outcome.............: PARC_rank 
Effect size...............: 0.109715 
Standard error............: 0.050424 
Odds ratio (effect size)..: 1.116 
Lower 95% CI..............: 1.011 
Upper 95% CI..............: 1.232 
T-value...................: 2.175832 
P-value...................: 0.03018994 
R^2.......................: 0.12124 
Adjusted r^2..............: 0.081508 
Sample size of AE DB......: 2423 
Sample size of model......: 394 
Missing data %............: 83.73917 

- processing MDC_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year + DiabetesStatus + Med.Statin.LLD, data = currentDF)

Coefficients:
           (Intercept)      currentDF[, TRAIT]              Gendermale             ORdate_year  DiabetesStatusDiabetes       Med.Statin.LLDyes  
             348.14977                 0.08718                 0.31526                -0.17399                 0.20694                -0.24560  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-2.82919 -0.56626 -0.07603  0.44307  2.90328 

Coefficients:
                            Estimate Std. Error t value Pr(>|t|)    
(Intercept)               358.629055  99.358952   3.609 0.000354 ***
currentDF[, TRAIT]          0.073564   0.054208   1.357 0.175673    
Age                        -0.001779   0.006266  -0.284 0.776669    
Gendermale                  0.326305   0.110626   2.950 0.003405 ** 
ORdate_year                -0.178688   0.049575  -3.604 0.000360 ***
Hypertension.compositeyes  -0.147400   0.150938  -0.977 0.329491    
DiabetesStatusDiabetes      0.222332   0.128788   1.726 0.085205 .  
SmokerStatusEx-smoker      -0.060232   0.111996  -0.538 0.591069    
SmokerStatusNever smoked    0.074090   0.168858   0.439 0.661109    
Med.Statin.LLDyes          -0.260920   0.115344  -2.262 0.024330 *  
Med.all.antiplateletyes    -0.214591   0.187904  -1.142 0.254257    
GFR_MDRD                   -0.003189   0.002781  -1.147 0.252316    
BMI                        -0.018247   0.013473  -1.354 0.176535    
MedHx_CVDyes                0.109407   0.105124   1.041 0.298741    
stenose50-70%              -0.265247   0.714856  -0.371 0.710834    
stenose70-90%               0.116664   0.666864   0.175 0.861229    
stenose90-99%               0.032181   0.664416   0.048 0.961399    
stenose100% (Occlusion)    -0.846591   0.824170  -1.027 0.305063    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.921 on 336 degrees of freedom
Multiple R-squared:  0.1307,    Adjusted R-squared:  0.08671 
F-statistic: 2.972 on 17 and 336 DF,  p-value: 8.305e-05

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ml_2015_rank ' with ' MDC_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ml_2015_rank 
Trait/outcome.............: MDC_rank 
Effect size...............: 0.073564 
Standard error............: 0.054208 
Odds ratio (effect size)..: 1.076 
Lower 95% CI..............: 0.968 
Upper 95% CI..............: 1.197 
T-value...................: 1.357061 
P-value...................: 0.1756727 
R^2.......................: 0.130697 
Adjusted r^2..............: 0.086715 
Sample size of AE DB......: 2423 
Sample size of model......: 354 
Missing data %............: 85.39001 

- processing OPG_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD, 
    data = currentDF)

Coefficients:
            (Intercept)       currentDF[, TRAIT]               Gendermale              ORdate_year        Med.Statin.LLDyes  Med.all.antiplateletyes  
             387.557181                 0.176005                 0.228372                -0.193386                -0.155389                -0.255899  
               GFR_MDRD  
              -0.003847  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-2.60973 -0.58187 -0.07439  0.49164  2.76577 

Coefficients:
                            Estimate Std. Error t value Pr(>|t|)    
(Intercept)               398.165295  89.034156   4.472 1.03e-05 ***
currentDF[, TRAIT]          0.171332   0.045934   3.730 0.000221 ***
Age                         0.002770   0.005859   0.473 0.636586    
Gendermale                  0.249260   0.101988   2.444 0.014985 *  
ORdate_year                -0.198710   0.044423  -4.473 1.02e-05 ***
Hypertension.compositeyes  -0.007183   0.138807  -0.052 0.958757    
DiabetesStatusDiabetes      0.140120   0.116610   1.202 0.230274    
SmokerStatusEx-smoker      -0.117795   0.103470  -1.138 0.255664    
SmokerStatusNever smoked    0.024242   0.159003   0.152 0.878904    
Med.Statin.LLDyes          -0.179756   0.107285  -1.676 0.094669 .  
Med.all.antiplateletyes    -0.250028   0.163436  -1.530 0.126904    
GFR_MDRD                   -0.002801   0.002612  -1.073 0.284179    
BMI                        -0.013525   0.012627  -1.071 0.284821    
MedHx_CVDyes                0.078918   0.096497   0.818 0.413974    
stenose50-70%              -0.242528   0.689611  -0.352 0.725270    
stenose70-90%               0.247590   0.648124   0.382 0.702671    
stenose90-99%               0.103883   0.645828   0.161 0.872296    
stenose100% (Occlusion)    -0.563330   0.802636  -0.702 0.483208    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.8992 on 375 degrees of freedom
Multiple R-squared:  0.142, Adjusted R-squared:  0.1031 
F-statistic: 3.652 on 17 and 375 DF,  p-value: 1.799e-06

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ml_2015_rank ' with ' OPG_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ml_2015_rank 
Trait/outcome.............: OPG_rank 
Effect size...............: 0.171332 
Standard error............: 0.045934 
Odds ratio (effect size)..: 1.187 
Lower 95% CI..............: 1.085 
Upper 95% CI..............: 1.299 
T-value...................: 3.729993 
P-value...................: 0.0002210852 
R^2.......................: 0.142042 
Adjusted r^2..............: 0.103148 
Sample size of AE DB......: 2423 
Sample size of model......: 393 
Missing data %............: 83.78044 

- processing sICAM1_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year + Med.Statin.LLD + Med.all.antiplatelet + stenose, 
    data = currentDF)

Coefficients:
            (Intercept)       currentDF[, TRAIT]               Gendermale              ORdate_year        Med.Statin.LLDyes  Med.all.antiplateletyes  
              330.96847                  0.13643                  0.26079                 -0.16535                 -0.16932                 -0.23566  
          stenose50-70%            stenose70-90%            stenose90-99%  stenose100% (Occlusion)  
               -0.30981                  0.21930                  0.08342                 -0.66366  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-2.77943 -0.59964 -0.04075  0.47551  2.95561 

Coefficients:
                            Estimate Std. Error t value Pr(>|t|)    
(Intercept)               339.289933  91.849462   3.694 0.000254 ***
currentDF[, TRAIT]          0.138783   0.047865   2.899 0.003957 ** 
Age                         0.003679   0.005926   0.621 0.535045    
Gendermale                  0.273430   0.101774   2.687 0.007538 ** 
ORdate_year                -0.169320   0.045823  -3.695 0.000252 ***
Hypertension.compositeyes  -0.047009   0.139031  -0.338 0.735460    
DiabetesStatusDiabetes      0.133514   0.117326   1.138 0.255855    
SmokerStatusEx-smoker      -0.084940   0.103684  -0.819 0.413184    
SmokerStatusNever smoked    0.037356   0.159790   0.234 0.815280    
Med.Statin.LLDyes          -0.175236   0.107771  -1.626 0.104786    
Med.all.antiplateletyes    -0.204007   0.163981  -1.244 0.214242    
GFR_MDRD                   -0.002214   0.002635  -0.840 0.401198    
BMI                        -0.016811   0.012687  -1.325 0.185943    
MedHx_CVDyes                0.057699   0.097157   0.594 0.552957    
stenose50-70%              -0.334540   0.694012  -0.482 0.630060    
stenose70-90%               0.188147   0.652329   0.288 0.773182    
stenose90-99%               0.039120   0.650224   0.060 0.952057    
stenose100% (Occlusion)    -0.709359   0.805817  -0.880 0.379260    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9045 on 376 degrees of freedom
Multiple R-squared:  0.1296,    Adjusted R-squared:  0.09028 
F-statistic: 3.294 on 17 and 376 DF,  p-value: 1.314e-05

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ml_2015_rank ' with ' sICAM1_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ml_2015_rank 
Trait/outcome.............: sICAM1_rank 
Effect size...............: 0.138783 
Standard error............: 0.047865 
Odds ratio (effect size)..: 1.149 
Lower 95% CI..............: 1.046 
Upper 95% CI..............: 1.262 
T-value...................: 2.899477 
P-value...................: 0.003957249 
R^2.......................: 0.129635 
Adjusted r^2..............: 0.090284 
Sample size of AE DB......: 2423 
Sample size of model......: 394 
Missing data %............: 83.73917 

- processing VEGFA_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year + Med.all.antiplatelet + GFR_MDRD + BMI + stenose, 
    data = currentDF)

Coefficients:
            (Intercept)       currentDF[, TRAIT]               Gendermale              ORdate_year  Med.all.antiplateletyes                 GFR_MDRD  
              605.44365                  0.21623                  0.27216                 -0.30240                 -0.27935                 -0.00511  
                    BMI            stenose50-70%            stenose70-90%            stenose90-99%  stenose100% (Occlusion)  
               -0.02159                  0.80800                  1.23457                  1.03777                  0.19344  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-2.6355 -0.5328 -0.1320  0.4369  2.7713 

Coefficients:
                            Estimate Std. Error t value Pr(>|t|)    
(Intercept)               603.371833 102.046952   5.913 8.83e-09 ***
currentDF[, TRAIT]          0.204483   0.049258   4.151 4.27e-05 ***
Age                         0.001610   0.006012   0.268   0.7890    
Gendermale                  0.298705   0.104647   2.854   0.0046 ** 
ORdate_year                -0.301318   0.050931  -5.916 8.66e-09 ***
Hypertension.compositeyes  -0.163890   0.145500  -1.126   0.2609    
DiabetesStatusDiabetes     -0.013334   0.117617  -0.113   0.9098    
SmokerStatusEx-smoker      -0.087816   0.105082  -0.836   0.4040    
SmokerStatusNever smoked    0.158093   0.167713   0.943   0.3466    
Med.Statin.LLDyes          -0.072908   0.108889  -0.670   0.5036    
Med.all.antiplateletyes    -0.263286   0.158782  -1.658   0.0983 .  
GFR_MDRD                   -0.005346   0.002544  -2.102   0.0364 *  
BMI                        -0.020340   0.013165  -1.545   0.1233    
MedHx_CVDyes                0.050893   0.099678   0.511   0.6100    
stenose50-70%               0.735314   0.889422   0.827   0.4090    
stenose70-90%               1.178954   0.852140   1.384   0.1675    
stenose90-99%               0.965463   0.850819   1.135   0.2574    
stenose100% (Occlusion)     0.087200   0.959619   0.091   0.9277    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.8426 on 312 degrees of freedom
Multiple R-squared:  0.2061,    Adjusted R-squared:  0.1628 
F-statistic: 4.764 on 17 and 312 DF,  p-value: 4.949e-09

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ml_2015_rank ' with ' VEGFA_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ml_2015_rank 
Trait/outcome.............: VEGFA_rank 
Effect size...............: 0.204483 
Standard error............: 0.049258 
Odds ratio (effect size)..: 1.227 
Lower 95% CI..............: 1.114 
Upper 95% CI..............: 1.351 
T-value...................: 4.151285 
P-value...................: 4.270246e-05 
R^2.......................: 0.206079 
Adjusted r^2..............: 0.162821 
Sample size of AE DB......: 2423 
Sample size of model......: 330 
Missing data %............: 86.38052 

- processing TGFB_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ Gender + ORdate_year + GFR_MDRD, 
    data = currentDF)

Coefficients:
(Intercept)   Gendermale  ORdate_year     GFR_MDRD  
 422.567714     0.245472    -0.211023    -0.004055  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-2.75331 -0.60293 -0.06849  0.46663  3.03503 

Coefficients:
                            Estimate Std. Error t value Pr(>|t|)    
(Intercept)               397.931460  94.466998   4.212 3.19e-05 ***
currentDF[, TRAIT]          0.060049   0.048611   1.235   0.2175    
Age                         0.000681   0.006075   0.112   0.9108    
Gendermale                  0.271881   0.105766   2.571   0.0105 *  
ORdate_year                -0.198487   0.047134  -4.211 3.20e-05 ***
Hypertension.compositeyes  -0.074295   0.142203  -0.522   0.6017    
DiabetesStatusDiabetes      0.108392   0.119629   0.906   0.3655    
SmokerStatusEx-smoker      -0.077703   0.106553  -0.729   0.4663    
SmokerStatusNever smoked    0.143648   0.165490   0.868   0.3860    
Med.Statin.LLDyes          -0.159324   0.110967  -1.436   0.1519    
Med.all.antiplateletyes    -0.189435   0.169337  -1.119   0.2640    
GFR_MDRD                   -0.003119   0.002710  -1.151   0.2506    
BMI                        -0.015967   0.013179  -1.212   0.2265    
MedHx_CVDyes                0.077823   0.099817   0.780   0.4361    
stenose50-70%              -0.325158   0.703195  -0.462   0.6441    
stenose70-90%               0.216771   0.663164   0.327   0.7439    
stenose90-99%               0.091778   0.660753   0.139   0.8896    
stenose100% (Occlusion)    -0.813254   0.819977  -0.992   0.3219    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.919 on 366 degrees of freedom
Multiple R-squared:  0.1153,    Adjusted R-squared:  0.07423 
F-statistic: 2.806 on 17 and 366 DF,  p-value: 0.000188

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ml_2015_rank ' with ' TGFB_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ml_2015_rank 
Trait/outcome.............: TGFB_rank 
Effect size...............: 0.060049 
Standard error............: 0.048611 
Odds ratio (effect size)..: 1.062 
Lower 95% CI..............: 0.965 
Upper 95% CI..............: 1.168 
T-value...................: 1.235294 
P-value...................: 0.2175134 
R^2.......................: 0.11532 
Adjusted r^2..............: 0.074228 
Sample size of AE DB......: 2423 
Sample size of model......: 384 
Missing data %............: 84.15188 

- processing MMP2_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year + Med.Statin.LLD + GFR_MDRD, data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]          Gendermale         ORdate_year   Med.Statin.LLDyes            GFR_MDRD  
        488.244559            0.075016            0.316277           -0.243790           -0.160502           -0.003945  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-2.8689 -0.5762 -0.0745  0.4982  3.2666 

Coefficients:
                            Estimate Std. Error t value Pr(>|t|)    
(Intercept)                4.951e+02  9.547e+01   5.186 3.54e-07 ***
currentDF[, TRAIT]         6.707e-02  5.122e-02   1.309  0.19125    
Age                       -8.326e-04  5.900e-03  -0.141  0.88785    
Gendermale                 3.346e-01  1.030e-01   3.250  0.00126 ** 
ORdate_year               -2.469e-01  4.763e-02  -5.185 3.57e-07 ***
Hypertension.compositeyes -4.015e-02  1.437e-01  -0.279  0.78010    
DiabetesStatusDiabetes     5.294e-02  1.166e-01   0.454  0.65017    
SmokerStatusEx-smoker     -8.013e-02  1.043e-01  -0.768  0.44288    
SmokerStatusNever smoked   1.326e-01  1.611e-01   0.823  0.41093    
Med.Statin.LLDyes         -1.705e-01  1.071e-01  -1.592  0.11228    
Med.all.antiplateletyes   -2.210e-01  1.689e-01  -1.309  0.19140    
GFR_MDRD                  -3.499e-03  2.617e-03  -1.337  0.18207    
BMI                       -1.624e-02  1.301e-02  -1.248  0.21285    
MedHx_CVDyes               8.124e-02  9.803e-02   0.829  0.40776    
stenose50-70%             -2.629e-01  6.925e-01  -0.380  0.70438    
stenose70-90%              1.794e-01  6.541e-01   0.274  0.78401    
stenose90-99%              6.799e-02  6.515e-01   0.104  0.91695    
stenose100% (Occlusion)   -8.184e-01  8.078e-01  -1.013  0.31168    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9055 on 371 degrees of freedom
Multiple R-squared:  0.1412,    Adjusted R-squared:  0.1018 
F-statistic: 3.588 on 17 and 371 DF,  p-value: 2.607e-06

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ml_2015_rank ' with ' MMP2_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ml_2015_rank 
Trait/outcome.............: MMP2_rank 
Effect size...............: 0.067066 
Standard error............: 0.051224 
Odds ratio (effect size)..: 1.069 
Lower 95% CI..............: 0.967 
Upper 95% CI..............: 1.182 
T-value...................: 1.309275 
P-value...................: 0.1912516 
R^2.......................: 0.141198 
Adjusted r^2..............: 0.101845 
Sample size of AE DB......: 2423 
Sample size of model......: 389 
Missing data %............: 83.94552 

- processing MMP8_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year + Med.Statin.LLD + BMI + stenose, data = currentDF)

Coefficients:
            (Intercept)       currentDF[, TRAIT]               Gendermale              ORdate_year        Med.Statin.LLDyes                      BMI  
              518.11414                  0.22361                  0.20944                 -0.25837                 -0.16145                 -0.02197  
          stenose50-70%            stenose70-90%            stenose90-99%  stenose100% (Occlusion)  
               -0.68467                 -0.21566                 -0.27056                 -1.16796  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-3.06404 -0.54875 -0.05214  0.45277  3.05284 

Coefficients:
                            Estimate Std. Error t value Pr(>|t|)    
(Intercept)               528.162165  92.488230   5.711 2.31e-08 ***
currentDF[, TRAIT]          0.217754   0.048550   4.485 9.73e-06 ***
Age                        -0.001146   0.005728  -0.200   0.8415    
Gendermale                  0.232349   0.102014   2.278   0.0233 *  
ORdate_year                -0.263143   0.046144  -5.703 2.41e-08 ***
Hypertension.compositeyes  -0.101608   0.138007  -0.736   0.4620    
DiabetesStatusDiabetes      0.101299   0.114406   0.885   0.3765    
SmokerStatusEx-smoker      -0.039920   0.101825  -0.392   0.6952    
SmokerStatusNever smoked    0.189772   0.156136   1.215   0.2250    
Med.Statin.LLDyes          -0.156760   0.104590  -1.499   0.1348    
Med.all.antiplateletyes    -0.155969   0.164814  -0.946   0.3446    
GFR_MDRD                   -0.002493   0.002562  -0.973   0.3313    
BMI                        -0.024847   0.012805  -1.940   0.0531 .  
MedHx_CVDyes                0.076311   0.095565   0.799   0.4251    
stenose50-70%              -0.663006   0.680455  -0.974   0.3305    
stenose70-90%              -0.237089   0.644417  -0.368   0.7131    
stenose90-99%              -0.290772   0.640210  -0.454   0.6500    
stenose100% (Occlusion)    -1.290942   0.795104  -1.624   0.1053    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.8839 on 371 degrees of freedom
Multiple R-squared:  0.1816,    Adjusted R-squared:  0.1441 
F-statistic: 4.843 on 17 and 371 DF,  p-value: 2.095e-09

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ml_2015_rank ' with ' MMP8_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ml_2015_rank 
Trait/outcome.............: MMP8_rank 
Effect size...............: 0.217754 
Standard error............: 0.04855 
Odds ratio (effect size)..: 1.243 
Lower 95% CI..............: 1.13 
Upper 95% CI..............: 1.367 
T-value...................: 4.485114 
P-value...................: 9.730762e-06 
R^2.......................: 0.181604 
Adjusted r^2..............: 0.144104 
Sample size of AE DB......: 2423 
Sample size of model......: 389 
Missing data %............: 83.94552 

- processing MMP9_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year + Med.Statin.LLD + Med.all.antiplatelet + BMI + 
    stenose, data = currentDF)

Coefficients:
            (Intercept)       currentDF[, TRAIT]               Gendermale              ORdate_year        Med.Statin.LLDyes  Med.all.antiplateletyes  
              484.54051                  0.12798                  0.25522                 -0.24170                 -0.16630                 -0.23587  
                    BMI            stenose50-70%            stenose70-90%            stenose90-99%  stenose100% (Occlusion)  
               -0.01882                 -0.37517                  0.08306                 -0.01948                 -0.95485  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-2.92719 -0.56131 -0.06458  0.43887  3.07875 

Coefficients:
                            Estimate Std. Error t value Pr(>|t|)    
(Intercept)               485.689729  94.610884   5.134  4.6e-07 ***
currentDF[, TRAIT]          0.119163   0.046927   2.539  0.01151 *  
Age                        -0.001413   0.005830  -0.242  0.80859    
Gendermale                  0.287381   0.102738   2.797  0.00542 ** 
ORdate_year                -0.242140   0.047207  -5.129  4.7e-07 ***
Hypertension.compositeyes  -0.049814   0.140702  -0.354  0.72351    
DiabetesStatusDiabetes      0.074169   0.116263   0.638  0.52391    
SmokerStatusEx-smoker      -0.060501   0.103495  -0.585  0.55919    
SmokerStatusNever smoked    0.147501   0.158853   0.929  0.35373    
Med.Statin.LLDyes          -0.174343   0.106397  -1.639  0.10214    
Med.all.antiplateletyes    -0.207719   0.167400  -1.241  0.21544    
GFR_MDRD                   -0.002866   0.002617  -1.095  0.27418    
BMI                        -0.020951   0.013005  -1.611  0.10803    
MedHx_CVDyes                0.088529   0.097239   0.910  0.36319    
stenose50-70%              -0.322255   0.687739  -0.469  0.63965    
stenose70-90%               0.113538   0.650027   0.175  0.86144    
stenose90-99%              -0.002686   0.647492  -0.004  0.99669    
stenose100% (Occlusion)    -0.905485   0.803171  -1.127  0.26031    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.8998 on 371 degrees of freedom
Multiple R-squared:  0.152, Adjusted R-squared:  0.1131 
F-statistic: 3.911 on 17 and 371 DF,  p-value: 4.25e-07

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ml_2015_rank ' with ' MMP9_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_pg_ml_2015_rank 
Trait/outcome.............: MMP9_rank 
Effect size...............: 0.119163 
Standard error............: 0.046927 
Odds ratio (effect size)..: 1.127 
Lower 95% CI..............: 1.028 
Upper 95% CI..............: 1.235 
T-value...................: 2.539309 
P-value...................: 0.01151472 
R^2.......................: 0.151969 
Adjusted r^2..............: 0.11311 
Sample size of AE DB......: 2423 
Sample size of model......: 389 
Missing data %............: 83.94552 

Analysis of MCP1_rank.

- processing IL2_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year, data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]          Gendermale         ORdate_year  
         337.77686            -0.07302             0.22973            -0.16864  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.3564 -0.6994 -0.0096  0.6442  2.3502 

Coefficients:
                            Estimate Std. Error t value Pr(>|t|)   
(Intercept)               324.135124 114.029542   2.843  0.00473 **
currentDF[, TRAIT]         -0.091842   0.052701  -1.743  0.08225 . 
Age                        -0.010907   0.006841  -1.594  0.11173   
Gendermale                  0.280439   0.121542   2.307  0.02161 * 
ORdate_year                -0.161011   0.056903  -2.830  0.00493 **
Hypertension.compositeyes  -0.222927   0.155898  -1.430  0.15361   
DiabetesStatusDiabetes     -0.112047   0.138121  -0.811  0.41778   
SmokerStatusEx-smoker       0.057259   0.119725   0.478  0.63276   
SmokerStatusNever smoked    0.369203   0.179991   2.051  0.04098 * 
Med.Statin.LLDyes          -0.168555   0.119333  -1.412  0.15869   
Med.all.antiplateletyes     0.234563   0.205958   1.139  0.25552   
GFR_MDRD                   -0.002512   0.003084  -0.815  0.41586   
BMI                        -0.007833   0.015379  -0.509  0.61084   
MedHx_CVDyes                0.042501   0.110771   0.384  0.70144   
stenose50-70%              -0.622075   0.779274  -0.798  0.42525   
stenose70-90%              -0.509955   0.717059  -0.711  0.47744   
stenose90-99%              -0.556706   0.715558  -0.778  0.43709   
stenose100% (Occlusion)    -0.781108   0.887784  -0.880  0.37954   
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9891 on 354 degrees of freedom
Multiple R-squared:  0.06962,   Adjusted R-squared:  0.02494 
F-statistic: 1.558 on 17 and 354 DF,  p-value: 0.073

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' IL2_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_rank 
Trait/outcome.............: IL2_rank 
Effect size...............: -0.091842 
Standard error............: 0.052701 
Odds ratio (effect size)..: 0.912 
Lower 95% CI..............: 0.823 
Upper 95% CI..............: 1.012 
T-value...................: -1.742702 
P-value...................: 0.08225396 
R^2.......................: 0.069619 
Adjusted r^2..............: 0.02494 
Sample size of AE DB......: 2423 
Sample size of model......: 372 
Missing data %............: 84.64713 

- processing IL4_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ Gender + ORdate_year, data = currentDF)

Coefficients:
(Intercept)   Gendermale  ORdate_year  
   391.3396       0.3126      -0.1954  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.3067 -0.7046  0.0354  0.6417  2.5773 

Coefficients:
                            Estimate Std. Error t value Pr(>|t|)   
(Intercept)               366.184851 124.633598   2.938  0.00354 **
currentDF[, TRAIT]         -0.050504   0.056698  -0.891  0.37371   
Age                        -0.013894   0.007279  -1.909  0.05715 . 
Gendermale                  0.354830   0.129438   2.741  0.00646 **
ORdate_year                -0.182242   0.062216  -2.929  0.00364 **
Hypertension.compositeyes  -0.112361   0.165304  -0.680  0.49716   
DiabetesStatusDiabetes     -0.118886   0.145318  -0.818  0.41389   
SmokerStatusEx-smoker       0.089026   0.124760   0.714  0.47600   
SmokerStatusNever smoked    0.341531   0.190332   1.794  0.07368 . 
Med.Statin.LLDyes          -0.156028   0.126548  -1.233  0.21848   
Med.all.antiplateletyes     0.158071   0.219711   0.719  0.47238   
GFR_MDRD                   -0.003372   0.003474  -0.971  0.33234   
BMI                        -0.003079   0.016501  -0.187  0.85209   
MedHx_CVDyes                0.061412   0.117000   0.525  0.60002   
stenose50-70%              -0.093615   1.077451  -0.087  0.93082   
stenose70-90%              -0.040576   1.030674  -0.039  0.96862   
stenose90-99%              -0.058983   1.027499  -0.057  0.95426   
stenose100% (Occlusion)    -0.257200   1.161929  -0.221  0.82495   
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 1.001 on 325 degrees of freedom
Multiple R-squared:  0.07236,   Adjusted R-squared:  0.02384 
F-statistic: 1.491 on 17 and 325 DF,  p-value: 0.09541

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' IL4_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_rank 
Trait/outcome.............: IL4_rank 
Effect size...............: -0.050504 
Standard error............: 0.056698 
Odds ratio (effect size)..: 0.951 
Lower 95% CI..............: 0.851 
Upper 95% CI..............: 1.062 
T-value...................: -0.89077 
P-value...................: 0.3737117 
R^2.......................: 0.072361 
Adjusted r^2..............: 0.023838 
Sample size of AE DB......: 2423 
Sample size of model......: 343 
Missing data %............: 85.844 

- processing IL5_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Med.Statin.LLD, data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]                 Age          Gendermale         ORdate_year   Med.Statin.LLDyes  
         348.44629            -0.11317            -0.01065             0.29540            -0.17354            -0.21941  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.5069 -0.7021  0.0220  0.6314  2.2770 

Coefficients:
                            Estimate Std. Error t value Pr(>|t|)   
(Intercept)               346.815626 117.537234   2.951  0.00339 **
currentDF[, TRAIT]         -0.116354   0.053150  -2.189  0.02925 * 
Age                        -0.015717   0.006997  -2.246  0.02532 * 
Gendermale                  0.344607   0.121863   2.828  0.00496 **
ORdate_year                -0.172428   0.058668  -2.939  0.00351 **
Hypertension.compositeyes  -0.111181   0.155967  -0.713  0.47642   
DiabetesStatusDiabetes     -0.141743   0.140027  -1.012  0.31213   
SmokerStatusEx-smoker       0.073269   0.119671   0.612  0.54077   
SmokerStatusNever smoked    0.313783   0.185013   1.696  0.09078 . 
Med.Statin.LLDyes          -0.235154   0.120323  -1.954  0.05146 . 
Med.all.antiplateletyes     0.160528   0.211803   0.758  0.44902   
GFR_MDRD                   -0.003817   0.003191  -1.196  0.23245   
BMI                        -0.004306   0.015178  -0.284  0.77683   
MedHx_CVDyes                0.092628   0.111450   0.831  0.40648   
stenose50-70%              -0.046230   1.060366  -0.044  0.96525   
stenose70-90%              -0.051028   1.012527  -0.050  0.95983   
stenose90-99%              -0.077836   1.010546  -0.077  0.93865   
stenose100% (Occlusion)    -0.339590   1.141656  -0.297  0.76630   
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9872 on 346 degrees of freedom
Multiple R-squared:  0.08442,   Adjusted R-squared:  0.03944 
F-statistic: 1.877 on 17 and 346 DF,  p-value: 0.01904

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' IL5_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_rank 
Trait/outcome.............: IL5_rank 
Effect size...............: -0.116354 
Standard error............: 0.05315 
Odds ratio (effect size)..: 0.89 
Lower 95% CI..............: 0.802 
Upper 95% CI..............: 0.988 
T-value...................: -2.189154 
P-value...................: 0.02925333 
R^2.......................: 0.084423 
Adjusted r^2..............: 0.039438 
Sample size of AE DB......: 2423 
Sample size of model......: 364 
Missing data %............: 84.9773 

- processing IL6_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ Gender + ORdate_year, data = currentDF)

Coefficients:
(Intercept)   Gendermale  ORdate_year  
   303.5723       0.2429      -0.1516  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.1707 -0.6816 -0.0241  0.6683  2.4450 

Coefficients:
                            Estimate Std. Error t value Pr(>|t|)   
(Intercept)               292.598955 112.086171   2.610  0.00942 **
currentDF[, TRAIT]          0.051411   0.051375   1.001  0.31764   
Age                        -0.014239   0.007037  -2.023  0.04375 * 
Gendermale                  0.310939   0.121720   2.555  0.01104 * 
ORdate_year                -0.145267   0.055919  -2.598  0.00976 **
Hypertension.compositeyes  -0.143512   0.156731  -0.916  0.36045   
DiabetesStatusDiabetes     -0.081443   0.137404  -0.593  0.55373   
SmokerStatusEx-smoker       0.098193   0.118217   0.831  0.40673   
SmokerStatusNever smoked    0.387337   0.180654   2.144  0.03269 * 
Med.Statin.LLDyes          -0.156889   0.118637  -1.322  0.18685   
Med.all.antiplateletyes     0.157364   0.191973   0.820  0.41291   
GFR_MDRD                   -0.003912   0.003160  -1.238  0.21647   
BMI                        -0.012374   0.014417  -0.858  0.39130   
MedHx_CVDyes                0.029785   0.109981   0.271  0.78669   
stenose50-70%              -0.238627   0.655442  -0.364  0.71602   
stenose70-90%              -0.088126   0.597638  -0.147  0.88285   
stenose90-99%              -0.162556   0.595502  -0.273  0.78503   
stenose100% (Occlusion)    -0.411221   0.797116  -0.516  0.60625   
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 1.001 on 364 degrees of freedom
Multiple R-squared:  0.06287,   Adjusted R-squared:  0.01911 
F-statistic: 1.437 on 17 and 364 DF,  p-value: 0.1162

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' IL6_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_rank 
Trait/outcome.............: IL6_rank 
Effect size...............: 0.051411 
Standard error............: 0.051375 
Odds ratio (effect size)..: 1.053 
Lower 95% CI..............: 0.952 
Upper 95% CI..............: 1.164 
T-value...................: 1.00069 
P-value...................: 0.3176413 
R^2.......................: 0.062873 
Adjusted r^2..............: 0.019106 
Sample size of AE DB......: 2423 
Sample size of model......: 382 
Missing data %............: 84.23442 

- processing IL8_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + SmokerStatus + 
    Med.all.antiplatelet + GFR_MDRD + BMI, data = currentDF)

Coefficients:
              (Intercept)         currentDF[, TRAIT]                        Age                 Gendermale                ORdate_year  
               483.713537                   0.324434                  -0.018361                   0.307909                  -0.240502  
Hypertension.compositeyes      SmokerStatusEx-smoker   SmokerStatusNever smoked    Med.all.antiplateletyes                   GFR_MDRD  
                -0.266232                   0.103620                   0.407957                   0.324185                  -0.004823  
                      BMI  
                -0.020470  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.2578 -0.6013 -0.0235  0.5901  2.3891 

Coefficients:
                            Estimate Std. Error t value Pr(>|t|)    
(Intercept)               468.385552 104.233897   4.494 9.53e-06 ***
currentDF[, TRAIT]          0.323207   0.051592   6.265 1.10e-09 ***
Age                        -0.018659   0.006544  -2.851  0.00461 ** 
Gendermale                  0.316040   0.113877   2.775  0.00581 ** 
ORdate_year                -0.232817   0.052003  -4.477 1.03e-05 ***
Hypertension.compositeyes  -0.225756   0.148680  -1.518  0.12981    
DiabetesStatusDiabetes     -0.160255   0.129844  -1.234  0.21795    
SmokerStatusEx-smoker       0.106100   0.110630   0.959  0.33819    
SmokerStatusNever smoked    0.427245   0.175653   2.432  0.01550 *  
Med.Statin.LLDyes          -0.099350   0.110753  -0.897  0.37032    
Med.all.antiplateletyes     0.292253   0.175618   1.664  0.09698 .  
GFR_MDRD                   -0.004916   0.002823  -1.741  0.08249 .  
BMI                        -0.018124   0.013438  -1.349  0.17831    
MedHx_CVDyes                0.024877   0.104174   0.239  0.81140    
stenose50-70%              -0.056165   0.616116  -0.091  0.92742    
stenose70-90%               0.029985   0.554347   0.054  0.95689    
stenose90-99%              -0.066973   0.553139  -0.121  0.90370    
stenose100% (Occlusion)    -0.730295   0.726805  -1.005  0.31569    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9299 on 350 degrees of freedom
Multiple R-squared:  0.192, Adjusted R-squared:  0.1528 
F-statistic: 4.893 on 17 and 350 DF,  p-value: 1.81e-09

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' IL8_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_rank 
Trait/outcome.............: IL8_rank 
Effect size...............: 0.323207 
Standard error............: 0.051592 
Odds ratio (effect size)..: 1.382 
Lower 95% CI..............: 1.249 
Upper 95% CI..............: 1.529 
T-value...................: 6.264673 
P-value...................: 1.09668e-09 
R^2.......................: 0.192008 
Adjusted r^2..............: 0.152763 
Sample size of AE DB......: 2423 
Sample size of model......: 368 
Missing data %............: 84.81222 

- processing IL9_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year + Med.Statin.LLD, data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]          Gendermale         ORdate_year   Med.Statin.LLDyes  
          469.1433              0.2651              0.2845             -0.2341             -0.1561  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-1.97853 -0.64237 -0.04494  0.58360  2.41010 

Coefficients:
                            Estimate Std. Error t value Pr(>|t|)    
(Intercept)               450.887553  78.695200   5.730 1.90e-08 ***
currentDF[, TRAIT]          0.256934   0.042621   6.028 3.57e-09 ***
Age                        -0.008089   0.005645  -1.433  0.15261    
Gendermale                  0.306162   0.097611   3.137  0.00183 ** 
ORdate_year                -0.224472   0.039276  -5.715 2.05e-08 ***
Hypertension.compositeyes  -0.142938   0.130384  -1.096  0.27357    
DiabetesStatusDiabetes     -0.116201   0.111687  -1.040  0.29873    
SmokerStatusEx-smoker       0.036425   0.097594   0.373  0.70916    
SmokerStatusNever smoked    0.143082   0.141142   1.014  0.31128    
Med.Statin.LLDyes          -0.167205   0.101227  -1.652  0.09931 .  
Med.all.antiplateletyes     0.053742   0.158187   0.340  0.73422    
GFR_MDRD                   -0.001307   0.002394  -0.546  0.58537    
BMI                        -0.009911   0.011498  -0.862  0.38918    
MedHx_CVDyes                0.040135   0.091466   0.439  0.66103    
stenose50-70%              -0.392710   0.574523  -0.684  0.49463    
stenose70-90%              -0.173669   0.530032  -0.328  0.74333    
stenose90-99%              -0.172148   0.528067  -0.326  0.74459    
stenose100% (Occlusion)    -0.930035   0.670103  -1.388  0.16589    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.8952 on 430 degrees of freedom
Multiple R-squared:  0.1963,    Adjusted R-squared:  0.1645 
F-statistic: 6.178 on 17 and 430 DF,  p-value: 5.855e-13

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' IL9_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_rank 
Trait/outcome.............: IL9_rank 
Effect size...............: 0.256934 
Standard error............: 0.042621 
Odds ratio (effect size)..: 1.293 
Lower 95% CI..............: 1.189 
Upper 95% CI..............: 1.406 
T-value...................: 6.028403 
P-value...................: 3.566497e-09 
R^2.......................: 0.196293 
Adjusted r^2..............: 0.164519 
Sample size of AE DB......: 2423 
Sample size of model......: 448 
Missing data %............: 81.51052 

- processing IL10_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Med.Statin.LLD, data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]                 Age          Gendermale         ORdate_year   Med.Statin.LLDyes  
         377.35088            -0.13938            -0.01222             0.31984            -0.18793            -0.25406  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.4252 -0.7168 -0.0178  0.6097  2.3442 

Coefficients:
                            Estimate Std. Error t value Pr(>|t|)   
(Intercept)               382.837732 133.005231   2.878  0.00428 **
currentDF[, TRAIT]         -0.148079   0.059120  -2.505  0.01277 * 
Age                        -0.018197   0.007506  -2.424  0.01591 * 
Gendermale                  0.381495   0.132668   2.876  0.00432 **
ORdate_year                -0.190096   0.066363  -2.864  0.00446 **
Hypertension.compositeyes  -0.163857   0.174140  -0.941  0.34747   
DiabetesStatusDiabetes     -0.056989   0.150146  -0.380  0.70454   
SmokerStatusEx-smoker       0.062815   0.129141   0.486  0.62702   
SmokerStatusNever smoked    0.343998   0.194722   1.767  0.07829 . 
Med.Statin.LLDyes          -0.270007   0.129064  -2.092  0.03726 * 
Med.all.antiplateletyes     0.085201   0.235966   0.361  0.71829   
GFR_MDRD                   -0.004142   0.003542  -1.169  0.24312   
BMI                        -0.011549   0.016701  -0.692  0.48974   
MedHx_CVDyes                0.045507   0.122897   0.370  0.71142   
stenose50-70%              -0.349383   1.088293  -0.321  0.74840   
stenose70-90%              -0.193352   1.034790  -0.187  0.85190   
stenose90-99%              -0.199793   1.032638  -0.193  0.84671   
stenose100% (Occlusion)    -0.839284   1.225427  -0.685  0.49393   
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 1.003 on 307 degrees of freedom
Multiple R-squared:  0.09275,   Adjusted R-squared:  0.04251 
F-statistic: 1.846 on 17 and 307 DF,  p-value: 0.02231

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' IL10_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_rank 
Trait/outcome.............: IL10_rank 
Effect size...............: -0.148079 
Standard error............: 0.05912 
Odds ratio (effect size)..: 0.862 
Lower 95% CI..............: 0.768 
Upper 95% CI..............: 0.968 
T-value...................: -2.504723 
P-value...................: 0.01277281 
R^2.......................: 0.09275 
Adjusted r^2..............: 0.042511 
Sample size of AE DB......: 2423 
Sample size of model......: 325 
Missing data %............: 86.58688 

- processing IL12_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Med.Statin.LLD, data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]                 Age          Gendermale         ORdate_year   Med.Statin.LLDyes  
        369.441292           -0.125855           -0.009407            0.319861           -0.184087           -0.206542  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.5441 -0.6935 -0.0074  0.6107  2.4391 

Coefficients:
                            Estimate Std. Error t value Pr(>|t|)   
(Intercept)               365.217756 125.908830   2.901  0.00398 **
currentDF[, TRAIT]         -0.129343   0.056270  -2.299  0.02216 * 
Age                        -0.014677   0.007287  -2.014  0.04483 * 
Gendermale                  0.380569   0.126539   3.008  0.00284 **
ORdate_year                -0.181562   0.062824  -2.890  0.00411 **
Hypertension.compositeyes  -0.113279   0.165456  -0.685  0.49405   
DiabetesStatusDiabetes     -0.050993   0.142719  -0.357  0.72110   
SmokerStatusEx-smoker       0.029611   0.126046   0.235  0.81441   
SmokerStatusNever smoked    0.325595   0.186266   1.748  0.08141 . 
Med.Statin.LLDyes          -0.217762   0.126329  -1.724  0.08570 . 
Med.all.antiplateletyes     0.175223   0.214845   0.816  0.41534   
GFR_MDRD                   -0.004207   0.003391  -1.241  0.21561   
BMI                        -0.009384   0.016360  -0.574  0.56665   
MedHx_CVDyes                0.065882   0.116576   0.565  0.57237   
stenose50-70%              -0.180538   1.066122  -0.169  0.86563   
stenose70-90%              -0.099681   1.019576  -0.098  0.92218   
stenose90-99%              -0.140547   1.016673  -0.138  0.89013   
stenose100% (Occlusion)    -0.503419   1.179534  -0.427  0.66981   
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9904 on 325 degrees of freedom
Multiple R-squared:  0.08593,   Adjusted R-squared:  0.03812 
F-statistic: 1.797 on 17 and 325 DF,  p-value: 0.02731

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' IL12_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_rank 
Trait/outcome.............: IL12_rank 
Effect size...............: -0.129343 
Standard error............: 0.05627 
Odds ratio (effect size)..: 0.879 
Lower 95% CI..............: 0.787 
Upper 95% CI..............: 0.981 
T-value...................: -2.298604 
P-value...................: 0.02216168 
R^2.......................: 0.085935 
Adjusted r^2..............: 0.038122 
Sample size of AE DB......: 2423 
Sample size of model......: 343 
Missing data %............: 85.844 

- processing IL13_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year + Hypertension.composite + Med.Statin.LLD, data = currentDF)

Coefficients:
              (Intercept)         currentDF[, TRAIT]                 Gendermale                ORdate_year  Hypertension.compositeyes  
                 481.9463                     0.3897                     0.2204                    -0.2405                    -0.1661  
        Med.Statin.LLDyes  
                  -0.1353  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.6353 -0.6508 -0.0352  0.6057  2.4524 

Coefficients:
                            Estimate Std. Error t value Pr(>|t|)    
(Intercept)                4.810e+02  7.720e+01   6.230 1.02e-09 ***
currentDF[, TRAIT]         3.825e-01  4.102e-02   9.324  < 2e-16 ***
Age                       -2.655e-03  5.378e-03  -0.494   0.6217    
Gendermale                 2.295e-01  9.296e-02   2.468   0.0139 *  
ORdate_year               -2.396e-01  3.853e-02  -6.219 1.09e-09 ***
Hypertension.compositeyes -1.494e-01  1.220e-01  -1.224   0.2214    
DiabetesStatusDiabetes    -6.109e-02  1.038e-01  -0.589   0.5563    
SmokerStatusEx-smoker      1.574e-02  9.221e-02   0.171   0.8645    
SmokerStatusNever smoked   1.052e-01  1.373e-01   0.766   0.4440    
Med.Statin.LLDyes         -1.519e-01  9.556e-02  -1.589   0.1127    
Med.all.antiplateletyes    3.047e-02  1.470e-01   0.207   0.8358    
GFR_MDRD                   4.795e-04  2.297e-03   0.209   0.8347    
BMI                       -1.179e-02  1.097e-02  -1.074   0.2832    
MedHx_CVDyes               2.197e-02  8.629e-02   0.255   0.7991    
stenose50-70%             -4.282e-01  5.707e-01  -0.750   0.4535    
stenose70-90%             -2.634e-01  5.303e-01  -0.497   0.6197    
stenose90-99%             -3.147e-01  5.287e-01  -0.595   0.5520    
stenose100% (Occlusion)   -9.036e-01  6.705e-01  -1.348   0.1784    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.8978 on 479 degrees of freedom
Multiple R-squared:  0.2369,    Adjusted R-squared:  0.2098 
F-statistic: 8.748 on 17 and 479 DF,  p-value: < 2.2e-16

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' IL13_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_rank 
Trait/outcome.............: IL13_rank 
Effect size...............: 0.382482 
Standard error............: 0.04102 
Odds ratio (effect size)..: 1.466 
Lower 95% CI..............: 1.353 
Upper 95% CI..............: 1.589 
T-value...................: 9.324199 
P-value...................: 4.12287e-19 
R^2.......................: 0.236913 
Adjusted r^2..............: 0.20983 
Sample size of AE DB......: 2423 
Sample size of model......: 497 
Missing data %............: 79.48824 

- processing IL21_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year + Hypertension.composite, data = currentDF)

Coefficients:
              (Intercept)         currentDF[, TRAIT]                 Gendermale                ORdate_year  Hypertension.compositeyes  
                 471.7857                     0.3464                     0.2211                    -0.2354                    -0.2092  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.5725 -0.6842 -0.0106  0.6285  2.2829 

Coefficients:
                            Estimate Std. Error t value Pr(>|t|)    
(Intercept)                4.536e+02  7.884e+01   5.753 1.56e-08 ***
currentDF[, TRAIT]         3.404e-01  4.205e-02   8.095 4.74e-15 ***
Age                       -4.645e-03  5.483e-03  -0.847   0.3973    
Gendermale                 2.308e-01  9.504e-02   2.428   0.0155 *  
ORdate_year               -2.258e-01  3.934e-02  -5.740 1.68e-08 ***
Hypertension.compositeyes -1.792e-01  1.247e-01  -1.437   0.1514    
DiabetesStatusDiabetes    -7.635e-02  1.061e-01  -0.719   0.4723    
SmokerStatusEx-smoker      2.884e-02  9.419e-02   0.306   0.7596    
SmokerStatusNever smoked   1.377e-01  1.403e-01   0.982   0.3268    
Med.Statin.LLDyes         -1.409e-01  9.767e-02  -1.443   0.1498    
Med.all.antiplateletyes    2.802e-02  1.505e-01   0.186   0.8524    
GFR_MDRD                   3.006e-04  2.350e-03   0.128   0.8983    
BMI                       -1.342e-02  1.123e-02  -1.195   0.2326    
MedHx_CVDyes               3.006e-02  8.811e-02   0.341   0.7332    
stenose50-70%             -4.718e-01  5.840e-01  -0.808   0.4196    
stenose70-90%             -2.817e-01  5.427e-01  -0.519   0.6039    
stenose90-99%             -3.361e-01  5.411e-01  -0.621   0.5348    
stenose100% (Occlusion)   -1.029e+00  6.860e-01  -1.500   0.1342    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9188 on 480 degrees of freedom
Multiple R-squared:  0.2063,    Adjusted R-squared:  0.1782 
F-statistic:  7.34 on 17 and 480 DF,  p-value: 3.891e-16

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' IL21_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_rank 
Trait/outcome.............: IL21_rank 
Effect size...............: 0.340369 
Standard error............: 0.042046 
Odds ratio (effect size)..: 1.405 
Lower 95% CI..............: 1.294 
Upper 95% CI..............: 1.526 
T-value...................: 8.095211 
P-value...................: 4.740966e-15 
R^2.......................: 0.206317 
Adjusted r^2..............: 0.178208 
Sample size of AE DB......: 2423 
Sample size of model......: 498 
Missing data %............: 79.44697 

- processing INFG_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ Gender + ORdate_year, data = currentDF)

Coefficients:
(Intercept)   Gendermale  ORdate_year  
   430.2780       0.3651      -0.2149  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.3229 -0.6695  0.0116  0.6628  2.7270 

Coefficients:
                            Estimate Std. Error t value Pr(>|t|)    
(Intercept)               483.732484 119.272545   4.056 6.17e-05 ***
currentDF[, TRAIT]         -0.108540   0.057053  -1.902  0.05794 .  
Age                        -0.012458   0.006953  -1.792  0.07403 .  
Gendermale                  0.369763   0.122970   3.007  0.00283 ** 
ORdate_year                -0.240763   0.059497  -4.047 6.40e-05 ***
Hypertension.compositeyes  -0.021201   0.159718  -0.133  0.89448    
DiabetesStatusDiabetes     -0.039525   0.135510  -0.292  0.77071    
SmokerStatusEx-smoker       0.145721   0.119575   1.219  0.22380    
SmokerStatusNever smoked    0.359357   0.181365   1.981  0.04833 *  
Med.Statin.LLDyes          -0.189488   0.122301  -1.549  0.12220    
Med.all.antiplateletyes     0.108570   0.194470   0.558  0.57701    
GFR_MDRD                   -0.001517   0.003074  -0.493  0.62206    
BMI                        -0.018579   0.014625  -1.270  0.20480    
MedHx_CVDyes                0.071023   0.113512   0.626  0.53193    
stenose50-70%              -0.045968   0.668659  -0.069  0.94523    
stenose70-90%              -0.253970   0.593765  -0.428  0.66911    
stenose90-99%              -0.194770   0.591953  -0.329  0.74233    
stenose100% (Occlusion)    -0.605486   0.835638  -0.725  0.46920    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9935 on 349 degrees of freedom
Multiple R-squared:  0.09256,   Adjusted R-squared:  0.04836 
F-statistic: 2.094 on 17 and 349 DF,  p-value: 0.006979

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' INFG_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_rank 
Trait/outcome.............: INFG_rank 
Effect size...............: -0.10854 
Standard error............: 0.057053 
Odds ratio (effect size)..: 0.897 
Lower 95% CI..............: 0.802 
Upper 95% CI..............: 1.003 
T-value...................: -1.902428 
P-value...................: 0.05793809 
R^2.......................: 0.092565 
Adjusted r^2..............: 0.048363 
Sample size of AE DB......: 2423 
Sample size of model......: 367 
Missing data %............: 84.85349 

- processing TNFA_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ Age + Gender + ORdate_year + 
    Med.Statin.LLD + Med.all.antiplatelet, data = currentDF)

Coefficients:
            (Intercept)                      Age               Gendermale              ORdate_year        Med.Statin.LLDyes  Med.all.antiplateletyes  
             269.319313                -0.009533                 0.294462                -0.134292                -0.179835                 0.348119  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.2611 -0.6760  0.0113  0.6116  2.6236 

Coefficients:
                            Estimate Std. Error t value Pr(>|t|)   
(Intercept)               275.964697 125.935591   2.191  0.02915 * 
currentDF[, TRAIT]         -0.002156   0.054993  -0.039  0.96876   
Age                        -0.014792   0.007229  -2.046  0.04156 * 
Gendermale                  0.349140   0.127517   2.738  0.00653 **
ORdate_year                -0.137038   0.062850  -2.180  0.02996 * 
Hypertension.compositeyes  -0.121535   0.166625  -0.729  0.46630   
DiabetesStatusDiabetes     -0.092884   0.144284  -0.644  0.52020   
SmokerStatusEx-smoker       0.053903   0.126442   0.426  0.67017   
SmokerStatusNever smoked    0.407871   0.188700   2.161  0.03140 * 
Med.Statin.LLDyes          -0.199705   0.125586  -1.590  0.11279   
Med.all.antiplateletyes     0.285589   0.224909   1.270  0.20508   
GFR_MDRD                   -0.003156   0.003388  -0.931  0.35238   
BMI                        -0.014823   0.016144  -0.918  0.35921   
MedHx_CVDyes                0.025319   0.119106   0.213  0.83179   
stenose50-70%              -0.197069   1.067862  -0.185  0.85370   
stenose70-90%              -0.069896   1.020871  -0.068  0.94546   
stenose90-99%              -0.130683   1.019824  -0.128  0.89812   
stenose100% (Occlusion)    -0.819097   1.273028  -0.643  0.52041   
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9942 on 318 degrees of freedom
Multiple R-squared:  0.07925,   Adjusted R-squared:  0.03003 
F-statistic:  1.61 on 17 and 318 DF,  p-value: 0.06002

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' TNFA_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_rank 
Trait/outcome.............: TNFA_rank 
Effect size...............: -0.002156 
Standard error............: 0.054993 
Odds ratio (effect size)..: 0.998 
Lower 95% CI..............: 0.896 
Upper 95% CI..............: 1.111 
T-value...................: -0.039197 
P-value...................: 0.9687576 
R^2.......................: 0.079251 
Adjusted r^2..............: 0.030029 
Sample size of AE DB......: 2423 
Sample size of model......: 336 
Missing data %............: 86.13289 

- processing MIF_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year + Hypertension.composite + SmokerStatus, data = currentDF)

Coefficients:
              (Intercept)         currentDF[, TRAIT]                 Gendermale                ORdate_year  Hypertension.compositeyes  
                164.54415                    0.35958                    0.25142                   -0.08215                   -0.20282  
    SmokerStatusEx-smoker   SmokerStatusNever smoked  
                  0.10913                    0.27908  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.2591 -0.6027 -0.0388  0.6311  2.5878 

Coefficients:
                            Estimate Std. Error t value Pr(>|t|)    
(Intercept)               146.080149  87.467299   1.670   0.0955 .  
currentDF[, TRAIT]          0.359164   0.048534   7.400 6.13e-13 ***
Age                        -0.006303   0.005520  -1.142   0.2541    
Gendermale                  0.247108   0.095861   2.578   0.0102 *  
ORdate_year                -0.072430   0.043645  -1.660   0.0977 .  
Hypertension.compositeyes  -0.147063   0.126216  -1.165   0.2445    
DiabetesStatusDiabetes     -0.010037   0.107585  -0.093   0.9257    
SmokerStatusEx-smoker       0.149550   0.095041   1.574   0.1163    
SmokerStatusNever smoked    0.325111   0.140706   2.311   0.0213 *  
Med.Statin.LLDyes          -0.154385   0.098659  -1.565   0.1183    
Med.all.antiplateletyes     0.070551   0.151685   0.465   0.6421    
GFR_MDRD                    0.001645   0.002388   0.689   0.4911    
BMI                        -0.014946   0.011350  -1.317   0.1885    
MedHx_CVDyes                0.020318   0.089007   0.228   0.8195    
stenose50-70%              -0.450650   0.589894  -0.764   0.4453    
stenose70-90%              -0.303103   0.548176  -0.553   0.5806    
stenose90-99%              -0.372707   0.546588  -0.682   0.4956    
stenose100% (Occlusion)    -0.896842   0.693084  -1.294   0.1963    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.928 on 480 degrees of freedom
Multiple R-squared:  0.1903,    Adjusted R-squared:  0.1617 
F-statistic: 6.637 on 17 and 480 DF,  p-value: 2.58e-14

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' MIF_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_rank 
Trait/outcome.............: MIF_rank 
Effect size...............: 0.359164 
Standard error............: 0.048534 
Odds ratio (effect size)..: 1.432 
Lower 95% CI..............: 1.302 
Upper 95% CI..............: 1.575 
T-value...................: 7.400196 
P-value...................: 6.131325e-13 
R^2.......................: 0.190333 
Adjusted r^2..............: 0.161658 
Sample size of AE DB......: 2423 
Sample size of model......: 498 
Missing data %............: 79.44697 

- processing MCP1_rank
attempting model selection on an essentially perfect fit is nonsenseattempting model selection on an essentially perfect fit is nonsenseattempting model selection on an essentially perfect fit is nonsenseattempting model selection on an essentially perfect fit is nonsenseattempting model selection on an essentially perfect fit is nonsenseattempting model selection on an essentially perfect fit is nonsenseattempting model selection on an essentially perfect fit is nonsenseattempting model selection on an essentially perfect fit is nonsenseattempting model selection on an essentially perfect fit is nonsenseattempting model selection on an essentially perfect fit is nonsenseattempting model selection on an essentially perfect fit is nonsenseattempting model selection on an essentially perfect fit is nonsenseattempting model selection on an essentially perfect fit is nonsenseattempting model selection on an essentially perfect fit is nonsenseattempting model selection on an essentially perfect fit is nonsenseattempting model selection on an essentially perfect fit is nonsenseattempting model selection on an essentially perfect fit is nonsenseattempting model selection on an essentially perfect fit is nonsenseattempting model selection on an essentially perfect fit is nonsenseattempting model selection on an essentially perfect fit is nonsenseattempting model selection on an essentially perfect fit is nonsenseattempting model selection on an essentially perfect fit is nonsenseattempting model selection on an essentially perfect fit is nonsenseattempting model selection on an essentially perfect fit is nonsenseattempting model selection on an essentially perfect fit is nonsense

Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT], data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]  
                 0                   1  
essentially perfect fit: summary may be unreliable

Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
       Min         1Q     Median         3Q        Max 
-1.504e-16 -2.455e-17 -2.110e-18  1.940e-17  5.497e-16 

Coefficients:
                            Estimate Std. Error    t value Pr(>|t|)    
(Intercept)                3.331e-15  4.735e-15  7.030e-01   0.4821    
currentDF[, TRAIT]         1.000e+00  2.512e-18  3.980e+17   <2e-16 ***
Age                        8.907e-20  3.205e-19  2.780e-01   0.7812    
Gendermale                 3.491e-18  5.603e-18  6.230e-01   0.5335    
ORdate_year               -1.660e-18  2.363e-18 -7.030e-01   0.4826    
Hypertension.compositeyes -2.000e-18  7.335e-18 -2.730e-01   0.7852    
DiabetesStatusDiabetes    -8.955e-18  6.232e-18 -1.437e+00   0.1514    
SmokerStatusEx-smoker      1.792e-18  5.511e-18  3.250e-01   0.7452    
SmokerStatusNever smoked   1.381e-17  8.198e-18  1.684e+00   0.0928 .  
Med.Statin.LLDyes         -4.676e-18  5.742e-18 -8.140e-01   0.4159    
Med.all.antiplateletyes   -1.084e-18  8.806e-18 -1.230e-01   0.9021    
GFR_MDRD                   1.582e-20  1.378e-19  1.150e-01   0.9087    
BMI                        5.057e-19  6.595e-19  7.670e-01   0.4436    
MedHx_CVDyes              -1.990e-18  5.171e-18 -3.850e-01   0.7005    
stenose50-70%             -3.220e-17  3.429e-17 -9.390e-01   0.3482    
stenose70-90%             -1.597e-17  3.185e-17 -5.010e-01   0.6164    
stenose90-99%             -1.640e-17  3.176e-17 -5.160e-01   0.6058    
stenose100% (Occlusion)   -1.174e-17  4.033e-17 -2.910e-01   0.7712    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 5.392e-17 on 480 degrees of freedom
Multiple R-squared:      1, Adjusted R-squared:      1 
F-statistic: 1.033e+34 on 17 and 480 DF,  p-value: < 2.2e-16

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' MCP1_rank ' .
essentially perfect fit: summary may be unreliable
Collecting data.
essentially perfect fit: summary may be unreliableessentially perfect fit: summary may be unreliableessentially perfect fit: summary may be unreliableessentially perfect fit: summary may be unreliableessentially perfect fit: summary may be unreliableessentially perfect fit: summary may be unreliableessentially perfect fit: summary may be unreliable
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_rank 
Trait/outcome.............: MCP1_rank 
Effect size...............: 1 
Standard error............: 0 
Odds ratio (effect size)..: 2.718 
Lower 95% CI..............: 2.718 
Upper 95% CI..............: 2.718 
T-value...................: 3.98049e+17 
P-value...................: 0 
R^2.......................: 1 
Adjusted r^2..............: 1 
Sample size of AE DB......: 2423 
Sample size of model......: 498 
Missing data %............: 79.44697 

- processing MIP1a_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year, data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]          Gendermale         ORdate_year  
          515.6169              0.3328              0.2191             -0.2574  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-1.80412 -0.65997 -0.00457  0.55429  2.56164 

Coefficients:
                            Estimate Std. Error t value Pr(>|t|)    
(Intercept)                4.843e+02  7.641e+01   6.338 5.76e-10 ***
currentDF[, TRAIT]         3.256e-01  4.194e-02   7.763 5.86e-14 ***
Age                       -7.143e-03  5.453e-03  -1.310   0.1909    
Gendermale                 2.425e-01  9.497e-02   2.553   0.0110 *  
ORdate_year               -2.411e-01  3.813e-02  -6.322 6.33e-10 ***
Hypertension.compositeyes -1.164e-01  1.248e-01  -0.933   0.3514    
DiabetesStatusDiabetes    -1.092e-01  1.058e-01  -1.032   0.3027    
SmokerStatusEx-smoker     -5.274e-03  9.435e-02  -0.056   0.9554    
SmokerStatusNever smoked   1.313e-01  1.369e-01   0.959   0.3380    
Med.Statin.LLDyes         -1.391e-01  9.780e-02  -1.422   0.1557    
Med.all.antiplateletyes    6.493e-02  1.529e-01   0.425   0.6712    
GFR_MDRD                   6.714e-05  2.306e-03   0.029   0.9768    
BMI                       -1.295e-02  1.101e-02  -1.176   0.2403    
MedHx_CVDyes               2.487e-02  8.835e-02   0.282   0.7784    
stenose50-70%             -5.187e-01  5.616e-01  -0.924   0.3562    
stenose70-90%             -3.000e-01  5.183e-01  -0.579   0.5630    
stenose90-99%             -3.373e-01  5.164e-01  -0.653   0.5139    
stenose100% (Occlusion)   -1.088e+00  6.555e-01  -1.660   0.0975 .  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.876 on 441 degrees of freedom
Multiple R-squared:  0.2302,    Adjusted R-squared:  0.2005 
F-statistic: 7.756 on 17 and 441 DF,  p-value: < 2.2e-16

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' MIP1a_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_rank 
Trait/outcome.............: MIP1a_rank 
Effect size...............: 0.325554 
Standard error............: 0.041939 
Odds ratio (effect size)..: 1.385 
Lower 95% CI..............: 1.276 
Upper 95% CI..............: 1.503 
T-value...................: 7.762627 
P-value...................: 5.85751e-14 
R^2.......................: 0.230177 
Adjusted r^2..............: 0.200501 
Sample size of AE DB......: 2423 
Sample size of model......: 459 
Missing data %............: 81.05654 

- processing RANTES_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year + Hypertension.composite, data = currentDF)

Coefficients:
              (Intercept)         currentDF[, TRAIT]                 Gendermale                ORdate_year  Hypertension.compositeyes  
                 237.9560                     0.3123                     0.2260                    -0.1187                    -0.2196  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-3.12191 -0.54598 -0.01048  0.59883  2.89938 

Coefficients:
                            Estimate Std. Error t value Pr(>|t|)    
(Intercept)                2.159e+02  8.494e+01   2.542   0.0114 *  
currentDF[, TRAIT]         3.202e-01  4.603e-02   6.957 1.16e-11 ***
Age                       -4.036e-03  5.545e-03  -0.728   0.4671    
Gendermale                 2.294e-01  9.619e-02   2.384   0.0175 *  
ORdate_year               -1.072e-01  4.239e-02  -2.529   0.0118 *  
Hypertension.compositeyes -2.207e-01  1.269e-01  -1.739   0.0828 .  
DiabetesStatusDiabetes     1.837e-02  1.079e-01   0.170   0.8649    
SmokerStatusEx-smoker      1.135e-01  9.498e-02   1.195   0.2328    
SmokerStatusNever smoked   2.227e-01  1.406e-01   1.585   0.1137    
Med.Statin.LLDyes         -1.420e-01  9.904e-02  -1.434   0.1522    
Med.all.antiplateletyes    1.265e-01  1.528e-01   0.828   0.4081    
GFR_MDRD                   3.131e-04  2.368e-03   0.132   0.8949    
BMI                       -2.044e-02  1.139e-02  -1.795   0.0734 .  
MedHx_CVDyes               7.841e-03  8.954e-02   0.088   0.9303    
stenose50-70%             -5.181e-01  5.901e-01  -0.878   0.3805    
stenose70-90%             -3.690e-01  5.462e-01  -0.676   0.4996    
stenose90-99%             -3.060e-01  5.443e-01  -0.562   0.5743    
stenose100% (Occlusion)   -1.248e+00  6.909e-01  -1.806   0.0715 .  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9243 on 474 degrees of freedom
Multiple R-squared:  0.1866,    Adjusted R-squared:  0.1574 
F-statistic: 6.397 on 17 and 474 DF,  p-value: 1.141e-13

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' RANTES_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_rank 
Trait/outcome.............: RANTES_rank 
Effect size...............: 0.32018 
Standard error............: 0.046025 
Odds ratio (effect size)..: 1.377 
Lower 95% CI..............: 1.259 
Upper 95% CI..............: 1.507 
T-value...................: 6.956614 
P-value...................: 1.163346e-11 
R^2.......................: 0.186607 
Adjusted r^2..............: 0.157435 
Sample size of AE DB......: 2423 
Sample size of model......: 492 
Missing data %............: 79.69459 

- processing MIG_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year + Hypertension.composite, data = currentDF)

Coefficients:
              (Intercept)         currentDF[, TRAIT]                 Gendermale                ORdate_year  Hypertension.compositeyes  
                 604.4820                     0.2929                     0.2398                    -0.3016                    -0.2271  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.1964 -0.6651  0.0113  0.6225  2.2889 

Coefficients:
                            Estimate Std. Error t value Pr(>|t|)    
(Intercept)                5.803e+02  8.343e+01   6.956 1.18e-11 ***
currentDF[, TRAIT]         2.846e-01  4.567e-02   6.233 1.02e-09 ***
Age                       -5.768e-03  5.628e-03  -1.025  0.30592    
Gendermale                 2.556e-01  9.713e-02   2.632  0.00878 ** 
ORdate_year               -2.890e-01  4.164e-02  -6.940 1.30e-11 ***
Hypertension.compositeyes -1.989e-01  1.288e-01  -1.545  0.12313    
DiabetesStatusDiabetes    -4.949e-02  1.089e-01  -0.454  0.64974    
SmokerStatusEx-smoker     -2.714e-03  9.658e-02  -0.028  0.97759    
SmokerStatusNever smoked   1.362e-01  1.448e-01   0.941  0.34726    
Med.Statin.LLDyes         -1.385e-01  1.001e-01  -1.384  0.16690    
Med.all.antiplateletyes    1.729e-02  1.545e-01   0.112  0.91095    
GFR_MDRD                   1.248e-04  2.393e-03   0.052  0.95843    
BMI                       -1.447e-02  1.147e-02  -1.261  0.20803    
MedHx_CVDyes               1.115e-02  9.069e-02   0.123  0.90223    
stenose50-70%             -5.050e-01  5.951e-01  -0.849  0.39651    
stenose70-90%             -3.440e-01  5.507e-01  -0.625  0.53253    
stenose90-99%             -3.337e-01  5.488e-01  -0.608  0.54347    
stenose100% (Occlusion)   -1.148e+00  6.963e-01  -1.649  0.09978 .  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9319 on 470 degrees of freedom
Multiple R-squared:  0.1734,    Adjusted R-squared:  0.1435 
F-statistic: 5.798 on 17 and 470 DF,  p-value: 4.217e-12

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' MIG_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_rank 
Trait/outcome.............: MIG_rank 
Effect size...............: 0.28463 
Standard error............: 0.045667 
Odds ratio (effect size)..: 1.329 
Lower 95% CI..............: 1.215 
Upper 95% CI..............: 1.454 
T-value...................: 6.232677 
P-value...................: 1.020771e-09 
R^2.......................: 0.173361 
Adjusted r^2..............: 0.143461 
Sample size of AE DB......: 2423 
Sample size of model......: 488 
Missing data %............: 79.85968 

- processing IP10_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year + Hypertension.composite, data = currentDF)

Coefficients:
              (Intercept)         currentDF[, TRAIT]                 Gendermale                ORdate_year  Hypertension.compositeyes  
                 445.7351                     0.4238                     0.2713                    -0.2224                    -0.1917  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-3.14418 -0.59601 -0.02638  0.55922  2.18631 

Coefficients:
                            Estimate Std. Error t value Pr(>|t|)    
(Intercept)               415.469196  76.990690   5.396 1.13e-07 ***
currentDF[, TRAIT]          0.422204   0.042479   9.939  < 2e-16 ***
Age                        -0.005294   0.005530  -0.957  0.33890    
Gendermale                  0.280567   0.093766   2.992  0.00293 ** 
ORdate_year                -0.206761   0.038418  -5.382 1.22e-07 ***
Hypertension.compositeyes  -0.168565   0.124543  -1.353  0.17662    
DiabetesStatusDiabetes     -0.054183   0.106025  -0.511  0.60958    
SmokerStatusEx-smoker      -0.037196   0.095115  -0.391  0.69594    
SmokerStatusNever smoked    0.009232   0.141886   0.065  0.94815    
Med.Statin.LLDyes          -0.134302   0.097608  -1.376  0.16956    
Med.all.antiplateletyes     0.011772   0.147114   0.080  0.93626    
GFR_MDRD                   -0.001411   0.002340  -0.603  0.54677    
BMI                        -0.016033   0.011120  -1.442  0.15009    
MedHx_CVDyes                0.063694   0.087746   0.726  0.46830    
stenose50-70%              -0.347811   0.554132  -0.628  0.53056    
stenose70-90%              -0.270492   0.513172  -0.527  0.59840    
stenose90-99%              -0.184304   0.510928  -0.361  0.71848    
stenose100% (Occlusion)    -0.741191   0.648898  -1.142  0.25400    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.8657 on 428 degrees of freedom
Multiple R-squared:  0.2759,    Adjusted R-squared:  0.2472 
F-statistic: 9.594 on 17 and 428 DF,  p-value: < 2.2e-16

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' IP10_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_rank 
Trait/outcome.............: IP10_rank 
Effect size...............: 0.422204 
Standard error............: 0.042479 
Odds ratio (effect size)..: 1.525 
Lower 95% CI..............: 1.403 
Upper 95% CI..............: 1.658 
T-value...................: 9.939162 
P-value...................: 4.407968e-21 
R^2.......................: 0.27592 
Adjusted r^2..............: 0.24716 
Sample size of AE DB......: 2423 
Sample size of model......: 446 
Missing data %............: 81.59307 

- processing Eotaxin1_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year + Hypertension.composite, data = currentDF)

Coefficients:
              (Intercept)         currentDF[, TRAIT]                 Gendermale                ORdate_year  Hypertension.compositeyes  
                 513.0539                     0.3244                     0.2028                    -0.2560                    -0.2241  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.3999 -0.6942 -0.0328  0.6255  2.3917 

Coefficients:
                            Estimate Std. Error t value Pr(>|t|)    
(Intercept)                4.961e+02  8.030e+01   6.178 1.39e-09 ***
currentDF[, TRAIT]         3.182e-01  4.337e-02   7.337 9.40e-13 ***
Age                       -5.803e-03  5.532e-03  -1.049   0.2947    
Gendermale                 2.150e-01  9.642e-02   2.230   0.0262 *  
ORdate_year               -2.470e-01  4.008e-02  -6.164 1.51e-09 ***
Hypertension.compositeyes -1.928e-01  1.261e-01  -1.529   0.1269    
DiabetesStatusDiabetes    -7.730e-02  1.073e-01  -0.720   0.4717    
SmokerStatusEx-smoker      3.090e-02  9.526e-02   0.324   0.7458    
SmokerStatusNever smoked   1.508e-01  1.418e-01   1.063   0.2881    
Med.Statin.LLDyes         -1.261e-01  9.876e-02  -1.276   0.2024    
Med.all.antiplateletyes    2.581e-02  1.523e-01   0.170   0.8655    
GFR_MDRD                   4.791e-04  2.377e-03   0.202   0.8404    
BMI                       -1.345e-02  1.135e-02  -1.185   0.2368    
MedHx_CVDyes               2.438e-02  8.908e-02   0.274   0.7844    
stenose50-70%             -5.016e-01  5.904e-01  -0.850   0.3959    
stenose70-90%             -3.122e-01  5.487e-01  -0.569   0.5697    
stenose90-99%             -3.628e-01  5.470e-01  -0.663   0.5075    
stenose100% (Occlusion)   -1.110e+00  6.936e-01  -1.601   0.1100    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9289 on 480 degrees of freedom
Multiple R-squared:  0.1889,    Adjusted R-squared:  0.1602 
F-statistic: 6.577 on 17 and 480 DF,  p-value: 3.716e-14

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' Eotaxin1_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_rank 
Trait/outcome.............: Eotaxin1_rank 
Effect size...............: 0.318209 
Standard error............: 0.043371 
Odds ratio (effect size)..: 1.375 
Lower 95% CI..............: 1.263 
Upper 95% CI..............: 1.497 
T-value...................: 7.336843 
P-value...................: 9.395425e-13 
R^2.......................: 0.188917 
Adjusted r^2..............: 0.160192 
Sample size of AE DB......: 2423 
Sample size of model......: 498 
Missing data %............: 79.44697 

- processing TARC_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + ORdate_year + 
    Med.Statin.LLD + BMI, data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]         ORdate_year   Med.Statin.LLDyes                 BMI  
         233.20323             0.27498            -0.11604            -0.26376            -0.01879  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-2.84543 -0.64613 -0.01877  0.63724  2.65495 

Coefficients:
                            Estimate Std. Error t value Pr(>|t|)    
(Intercept)                2.281e+02  9.923e+01   2.298   0.0220 *  
currentDF[, TRAIT]         2.592e-01  4.730e-02   5.480 7.46e-08 ***
Age                       -4.643e-03  5.932e-03  -0.783   0.4343    
Gendermale                 1.255e-01  1.036e-01   1.211   0.2266    
ORdate_year               -1.132e-01  4.954e-02  -2.285   0.0228 *  
Hypertension.compositeyes -1.854e-01  1.382e-01  -1.341   0.1806    
DiabetesStatusDiabetes    -4.917e-02  1.160e-01  -0.424   0.6720    
SmokerStatusEx-smoker      1.822e-02  1.039e-01   0.175   0.8609    
SmokerStatusNever smoked   1.956e-01  1.483e-01   1.319   0.1877    
Med.Statin.LLDyes         -2.696e-01  1.098e-01  -2.456   0.0145 *  
Med.all.antiplateletyes    4.911e-02  1.622e-01   0.303   0.7622    
GFR_MDRD                   9.712e-04  2.639e-03   0.368   0.7131    
BMI                       -2.066e-02  1.251e-02  -1.651   0.0994 .  
MedHx_CVDyes               9.816e-02  9.763e-02   1.005   0.3153    
stenose50-70%             -5.757e-01  5.987e-01  -0.961   0.3369    
stenose70-90%             -3.310e-01  5.520e-01  -0.600   0.5491    
stenose90-99%             -2.886e-01  5.498e-01  -0.525   0.5999    
stenose100% (Occlusion)   -1.009e+00  6.988e-01  -1.444   0.1495    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9313 on 409 degrees of freedom
Multiple R-squared:  0.1491,    Adjusted R-squared:  0.1137 
F-statistic: 4.215 on 17 and 409 DF,  p-value: 6.462e-08

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' TARC_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_rank 
Trait/outcome.............: TARC_rank 
Effect size...............: 0.259178 
Standard error............: 0.047297 
Odds ratio (effect size)..: 1.296 
Lower 95% CI..............: 1.181 
Upper 95% CI..............: 1.422 
T-value...................: 5.47978 
P-value...................: 7.459196e-08 
R^2.......................: 0.14908 
Adjusted r^2..............: 0.113712 
Sample size of AE DB......: 2423 
Sample size of model......: 427 
Missing data %............: 82.37722 

- processing PARC_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Med.Statin.LLD + Med.all.antiplatelet, 
    data = currentDF)

Coefficients:
            (Intercept)       currentDF[, TRAIT]                      Age               Gendermale              ORdate_year        Med.Statin.LLDyes  
             141.838177                 0.443802                -0.006814                 0.294597                -0.070732                -0.135797  
Med.all.antiplateletyes  
               0.275088  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-3.04725 -0.57430 -0.01202  0.62814  2.20609 

Coefficients:
                            Estimate Std. Error t value Pr(>|t|)    
(Intercept)               152.088685  80.472825   1.890  0.05937 .  
currentDF[, TRAIT]          0.437723   0.043170  10.140  < 2e-16 ***
Age                        -0.007455   0.005274  -1.414  0.15812    
Gendermale                  0.296610   0.091505   3.241  0.00127 ** 
ORdate_year                -0.075717   0.040148  -1.886  0.05991 .  
Hypertension.compositeyes  -0.131226   0.120874  -1.086  0.27818    
DiabetesStatusDiabetes     -0.023393   0.102830  -0.227  0.82014    
SmokerStatusEx-smoker       0.078039   0.090790   0.860  0.39046    
SmokerStatusNever smoked    0.185541   0.135001   1.374  0.16997    
Med.Statin.LLDyes          -0.134239   0.094499  -1.421  0.15611    
Med.all.antiplateletyes     0.261626   0.145654   1.796  0.07309 .  
GFR_MDRD                    0.001238   0.002278   0.543  0.58708    
BMI                        -0.006185   0.010877  -0.569  0.56985    
MedHx_CVDyes                0.059671   0.085297   0.700  0.48454    
stenose50-70%              -0.106702   0.566388  -0.188  0.85065    
stenose70-90%              -0.103307   0.525362  -0.197  0.84419    
stenose90-99%              -0.122370   0.523727  -0.234  0.81535    
stenose100% (Occlusion)    -0.262180   0.667961  -0.393  0.69486    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.889 on 480 degrees of freedom
Multiple R-squared:  0.2571,    Adjusted R-squared:  0.2308 
F-statistic: 9.771 on 17 and 480 DF,  p-value: < 2.2e-16

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' PARC_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_rank 
Trait/outcome.............: PARC_rank 
Effect size...............: 0.437723 
Standard error............: 0.04317 
Odds ratio (effect size)..: 1.549 
Lower 95% CI..............: 1.423 
Upper 95% CI..............: 1.686 
T-value...................: 10.13951 
P-value...................: 5.072202e-22 
R^2.......................: 0.257082 
Adjusted r^2..............: 0.230771 
Sample size of AE DB......: 2423 
Sample size of model......: 498 
Missing data %............: 79.44697 

- processing MDC_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year + Med.Statin.LLD, data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]          Gendermale         ORdate_year   Med.Statin.LLDyes  
          278.9982              0.3708              0.2965             -0.1393             -0.1490  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-1.86874 -0.65351 -0.04043  0.53752  3.05362 

Coefficients:
                            Estimate Std. Error t value Pr(>|t|)    
(Intercept)                2.700e+02  8.015e+01   3.369 0.000822 ***
currentDF[, TRAIT]         3.642e-01  4.388e-02   8.298 1.33e-15 ***
Age                       -6.351e-03  5.390e-03  -1.178 0.239320    
Gendermale                 3.220e-01  9.462e-02   3.403 0.000728 ***
ORdate_year               -1.342e-01  4.000e-02  -3.356 0.000859 ***
Hypertension.compositeyes -1.157e-01  1.253e-01  -0.924 0.356229    
DiabetesStatusDiabetes    -7.654e-02  1.069e-01  -0.716 0.474509    
SmokerStatusEx-smoker     -1.696e-03  9.395e-02  -0.018 0.985607    
SmokerStatusNever smoked   1.277e-01  1.365e-01   0.936 0.349882    
Med.Statin.LLDyes         -1.610e-01  9.799e-02  -1.643 0.101044    
Med.all.antiplateletyes    1.145e-01  1.542e-01   0.742 0.458204    
GFR_MDRD                   8.789e-05  2.324e-03   0.038 0.969846    
BMI                       -1.387e-02  1.103e-02  -1.257 0.209372    
MedHx_CVDyes               4.530e-02  8.848e-02   0.512 0.608906    
stenose50-70%             -4.430e-01  5.608e-01  -0.790 0.429997    
stenose70-90%             -2.836e-01  5.175e-01  -0.548 0.584037    
stenose90-99%             -3.073e-01  5.156e-01  -0.596 0.551548    
stenose100% (Occlusion)   -1.014e+00  6.543e-01  -1.550 0.121818    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.8744 on 436 degrees of freedom
Multiple R-squared:  0.241, Adjusted R-squared:  0.2114 
F-statistic: 8.141 on 17 and 436 DF,  p-value: < 2.2e-16

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' MDC_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_rank 
Trait/outcome.............: MDC_rank 
Effect size...............: 0.364156 
Standard error............: 0.043883 
Odds ratio (effect size)..: 1.439 
Lower 95% CI..............: 1.321 
Upper 95% CI..............: 1.569 
T-value...................: 8.298409 
P-value...................: 1.33225e-15 
R^2.......................: 0.240951 
Adjusted r^2..............: 0.211355 
Sample size of AE DB......: 2423 
Sample size of model......: 454 
Missing data %............: 81.2629 

- processing OPG_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year + Med.Statin.LLD, data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]          Gendermale         ORdate_year   Med.Statin.LLDyes  
          433.8263              0.5797              0.1706             -0.2165             -0.1394  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.5141 -0.5106 -0.0590  0.4883  2.5977 

Coefficients:
                            Estimate Std. Error t value Pr(>|t|)    
(Intercept)               427.287820  68.049889   6.279 7.65e-10 ***
currentDF[, TRAIT]          0.573425   0.036693  15.628  < 2e-16 ***
Age                        -0.002660   0.004737  -0.562   0.5747    
Gendermale                  0.192328   0.082276   2.338   0.0198 *  
ORdate_year                -0.212989   0.033962  -6.271 8.00e-10 ***
Hypertension.compositeyes  -0.152974   0.107846  -1.418   0.1567    
DiabetesStatusDiabetes     -0.020392   0.091840  -0.222   0.8244    
SmokerStatusEx-smoker      -0.009957   0.081469  -0.122   0.9028    
SmokerStatusNever smoked    0.102581   0.120853   0.849   0.3964    
Med.Statin.LLDyes          -0.146496   0.084536  -1.733   0.0837 .  
Med.all.antiplateletyes     0.007738   0.129892   0.060   0.9525    
GFR_MDRD                   -0.000838   0.002031  -0.413   0.6800    
BMI                        -0.005220   0.009716  -0.537   0.5913    
MedHx_CVDyes                0.066458   0.076394   0.870   0.3848    
stenose50-70%              -0.106846   0.505468  -0.211   0.8327    
stenose70-90%              -0.044287   0.469387  -0.094   0.9249    
stenose90-99%              -0.067123   0.467905  -0.143   0.8860    
stenose100% (Occlusion)    -0.347525   0.594619  -0.584   0.5592    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.7942 on 479 degrees of freedom
Multiple R-squared:  0.4029,    Adjusted R-squared:  0.3817 
F-statistic: 19.01 on 17 and 479 DF,  p-value: < 2.2e-16

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' OPG_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_rank 
Trait/outcome.............: OPG_rank 
Effect size...............: 0.573425 
Standard error............: 0.036693 
Odds ratio (effect size)..: 1.774 
Lower 95% CI..............: 1.651 
Upper 95% CI..............: 1.907 
T-value...................: 15.62752 
P-value...................: 8.723821e-45 
R^2.......................: 0.402862 
Adjusted r^2..............: 0.381669 
Sample size of AE DB......: 2423 
Sample size of model......: 497 
Missing data %............: 79.48824 

- processing sICAM1_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    Hypertension.composite + Med.Statin.LLD + Med.all.antiplatelet, 
    data = currentDF)

Coefficients:
              (Intercept)         currentDF[, TRAIT]                 Gendermale  Hypertension.compositeyes          Med.Statin.LLDyes  
                  -0.1133                     0.6670                     0.2354                    -0.1616                    -0.1266  
  Med.all.antiplateletyes  
                   0.1884  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-3.06932 -0.40155  0.04207  0.43059  2.16413 

Coefficients:
                           Estimate Std. Error t value Pr(>|t|)    
(Intercept)               95.840446  66.583223   1.439  0.15069    
currentDF[, TRAIT]         0.660727   0.035931  18.389  < 2e-16 ***
Age                        0.002250   0.004495   0.501  0.61686    
Gendermale                 0.224179   0.077357   2.898  0.00393 ** 
ORdate_year               -0.047658   0.033223  -1.434  0.15209    
Hypertension.compositeyes -0.137379   0.101881  -1.348  0.17816    
DiabetesStatusDiabetes    -0.032830   0.086710  -0.379  0.70514    
SmokerStatusEx-smoker      0.101332   0.076614   1.323  0.18659    
SmokerStatusNever smoked   0.114707   0.114022   1.006  0.31492    
Med.Statin.LLDyes         -0.110854   0.079774  -1.390  0.16530    
Med.all.antiplateletyes    0.177777   0.122479   1.451  0.14730    
GFR_MDRD                   0.001653   0.001921   0.861  0.38994    
BMI                       -0.013696   0.009170  -1.494  0.13596    
MedHx_CVDyes              -0.027234   0.072019  -0.378  0.70549    
stenose50-70%             -0.509971   0.476871  -1.069  0.28542    
stenose70-90%             -0.355522   0.443195  -0.802  0.42285    
stenose90-99%             -0.445780   0.441889  -1.009  0.31358    
stenose100% (Occlusion)   -0.697120   0.560445  -1.244  0.21415    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.7503 on 480 degrees of freedom
Multiple R-squared:  0.4708,    Adjusted R-squared:  0.452 
F-statistic: 25.12 on 17 and 480 DF,  p-value: < 2.2e-16

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' sICAM1_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_rank 
Trait/outcome.............: sICAM1_rank 
Effect size...............: 0.660727 
Standard error............: 0.035931 
Odds ratio (effect size)..: 1.936 
Lower 95% CI..............: 1.805 
Upper 95% CI..............: 2.077 
T-value...................: 18.38887 
P-value...................: 1.477764e-57 
R^2.......................: 0.470782 
Adjusted r^2..............: 0.452039 
Sample size of AE DB......: 2423 
Sample size of model......: 498 
Missing data %............: 79.44697 

- processing VEGFA_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year + Hypertension.composite + SmokerStatus + BMI, 
    data = currentDF)

Coefficients:
              (Intercept)         currentDF[, TRAIT]                 Gendermale                ORdate_year  Hypertension.compositeyes  
                657.95447                    0.32365                    0.21844                   -0.32809                   -0.25562  
    SmokerStatusEx-smoker   SmokerStatusNever smoked                        BMI  
                  0.11063                    0.30379                   -0.01841  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.3008 -0.5935 -0.0500  0.6200  2.4227 

Coefficients:
                            Estimate Std. Error t value Pr(>|t|)    
(Intercept)               642.466588  96.040354   6.690 7.88e-11 ***
currentDF[, TRAIT]          0.327490   0.049225   6.653 9.86e-11 ***
Age                        -0.009134   0.006011  -1.520   0.1294    
Gendermale                  0.217328   0.105227   2.065   0.0396 *  
ORdate_year                -0.319786   0.047942  -6.670 8.87e-11 ***
Hypertension.compositeyes  -0.226216   0.138958  -1.628   0.1044    
DiabetesStatusDiabetes     -0.115174   0.117200  -0.983   0.3264    
SmokerStatusEx-smoker       0.157607   0.102508   1.538   0.1250    
SmokerStatusNever smoked    0.371415   0.156137   2.379   0.0179 *  
Med.Statin.LLDyes          -0.088078   0.107177  -0.822   0.4117    
Med.all.antiplateletyes     0.118234   0.155705   0.759   0.4481    
GFR_MDRD                   -0.001184   0.002523  -0.470   0.6389    
BMI                        -0.021248   0.012637  -1.681   0.0935 .  
MedHx_CVDyes                0.126684   0.097007   1.306   0.1924    
stenose50-70%              -0.356141   0.706324  -0.504   0.6144    
stenose70-90%              -0.487268   0.656480  -0.742   0.4584    
stenose90-99%              -0.555999   0.655133  -0.849   0.3966    
stenose100% (Occlusion)    -1.316272   0.776273  -1.696   0.0908 .  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9092 on 386 degrees of freedom
Multiple R-squared:  0.1997,    Adjusted R-squared:  0.1645 
F-statistic: 5.667 on 17 and 386 DF,  p-value: 1.641e-11

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' VEGFA_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_rank 
Trait/outcome.............: VEGFA_rank 
Effect size...............: 0.32749 
Standard error............: 0.049225 
Odds ratio (effect size)..: 1.387 
Lower 95% CI..............: 1.26 
Upper 95% CI..............: 1.528 
T-value...................: 6.652972 
P-value...................: 9.858796e-11 
R^2.......................: 0.199723 
Adjusted r^2..............: 0.164478 
Sample size of AE DB......: 2423 
Sample size of model......: 404 
Missing data %............: 83.32645 

- processing TGFB_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year + Hypertension.composite, data = currentDF)

Coefficients:
              (Intercept)         currentDF[, TRAIT]                 Gendermale                ORdate_year  Hypertension.compositeyes  
                 394.9850                     0.1173                     0.3072                    -0.1971                    -0.1996  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.4029 -0.6503 -0.0023  0.6538  2.5270 

Coefficients:
                            Estimate Std. Error t value Pr(>|t|)    
(Intercept)                3.727e+02  8.640e+01   4.314 1.97e-05 ***
currentDF[, TRAIT]         1.151e-01  4.569e-02   2.518  0.01213 *  
Age                       -7.562e-03  5.876e-03  -1.287  0.19879    
Gendermale                 3.330e-01  1.023e-01   3.255  0.00122 ** 
ORdate_year               -1.855e-01  4.312e-02  -4.301 2.08e-05 ***
Hypertension.compositeyes -2.047e-01  1.333e-01  -1.536  0.12529    
DiabetesStatusDiabetes    -7.342e-02  1.152e-01  -0.638  0.52405    
SmokerStatusEx-smoker      9.055e-02  1.010e-01   0.897  0.37036    
SmokerStatusNever smoked   3.343e-01  1.514e-01   2.209  0.02767 *  
Med.Statin.LLDyes         -1.448e-01  1.057e-01  -1.370  0.17140    
Med.all.antiplateletyes    1.293e-01  1.600e-01   0.808  0.41953    
GFR_MDRD                   6.369e-05  2.538e-03   0.025  0.97999    
BMI                       -1.626e-02  1.211e-02  -1.343  0.18005    
MedHx_CVDyes               7.531e-02  9.475e-02   0.795  0.42712    
stenose50-70%             -5.266e-01  6.146e-01  -0.857  0.39202    
stenose70-90%             -2.725e-01  5.712e-01  -0.477  0.63351    
stenose90-99%             -2.543e-01  5.695e-01  -0.446  0.65547    
stenose100% (Occlusion)   -1.070e+00  7.220e-01  -1.481  0.13916    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9661 on 456 degrees of freedom
Multiple R-squared:  0.1171,    Adjusted R-squared:  0.08417 
F-statistic: 3.557 on 17 and 456 DF,  p-value: 2.502e-06

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' TGFB_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_rank 
Trait/outcome.............: TGFB_rank 
Effect size...............: 0.115068 
Standard error............: 0.045691 
Odds ratio (effect size)..: 1.122 
Lower 95% CI..............: 1.026 
Upper 95% CI..............: 1.227 
T-value...................: 2.518373 
P-value...................: 0.0121311 
R^2.......................: 0.117082 
Adjusted r^2..............: 0.084167 
Sample size of AE DB......: 2423 
Sample size of model......: 474 
Missing data %............: 80.43747 

- processing MMP2_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender + 
    ORdate_year, data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]          Gendermale         ORdate_year  
          304.4297              0.3750              0.3703             -0.1520  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.4837 -0.5718 -0.0139  0.6128  2.4435 

Coefficients:
                            Estimate Std. Error t value Pr(>|t|)    
(Intercept)                2.849e+02  8.571e+01   3.324 0.000960 ***
currentDF[, TRAIT]         3.568e-01  4.678e-02   7.627 1.39e-13 ***
Age                       -7.665e-03  5.601e-03  -1.369 0.171785    
Gendermale                 3.938e-01  9.732e-02   4.046 6.11e-05 ***
ORdate_year               -1.419e-01  4.277e-02  -3.318 0.000979 ***
Hypertension.compositeyes -9.213e-02  1.296e-01  -0.711 0.477414    
DiabetesStatusDiabetes    -1.266e-02  1.097e-01  -0.115 0.908206    
SmokerStatusEx-smoker      9.316e-03  9.652e-02   0.097 0.923151    
SmokerStatusNever smoked   1.612e-01  1.431e-01   1.126 0.260718    
Med.Statin.LLDyes         -1.025e-01  9.881e-02  -1.038 0.299983    
Med.all.antiplateletyes    1.319e-01  1.559e-01   0.846 0.398008    
GFR_MDRD                  -6.253e-04  2.447e-03  -0.256 0.798406    
BMI                       -1.121e-02  1.171e-02  -0.958 0.338746    
MedHx_CVDyes               2.992e-02  9.069e-02   0.330 0.741621    
stenose50-70%             -2.844e-03  5.902e-01  -0.005 0.996157    
stenose70-90%              9.290e-02  5.475e-01   0.170 0.865339    
stenose90-99%              1.044e-01  5.459e-01   0.191 0.848380    
stenose100% (Occlusion)   -6.307e-01  6.909e-01  -0.913 0.361779    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9222 on 459 degrees of freedom
Multiple R-squared:  0.1955,    Adjusted R-squared:  0.1657 
F-statistic:  6.56 on 17 and 459 DF,  p-value: 4.844e-14

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' MMP2_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_rank 
Trait/outcome.............: MMP2_rank 
Effect size...............: 0.3568 
Standard error............: 0.046779 
Odds ratio (effect size)..: 1.429 
Lower 95% CI..............: 1.304 
Upper 95% CI..............: 1.566 
T-value...................: 7.627405 
P-value...................: 1.392688e-13 
R^2.......................: 0.195463 
Adjusted r^2..............: 0.165666 
Sample size of AE DB......: 2423 
Sample size of model......: 477 
Missing data %............: 80.31366 

- processing MMP8_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + SmokerStatus + 
    Med.all.antiplatelet + BMI + stenose, data = currentDF)

Coefficients:
              (Intercept)         currentDF[, TRAIT]                        Age                 Gendermale                ORdate_year  
                407.49841                    0.47258                   -0.01079                    0.14007                   -0.20233  
Hypertension.compositeyes      SmokerStatusEx-smoker   SmokerStatusNever smoked    Med.all.antiplateletyes                        BMI  
                 -0.30045                    0.17313                    0.32439                    0.24655                   -0.03177  
            stenose50-70%              stenose70-90%              stenose90-99%    stenose100% (Occlusion)  
                 -0.80804                   -0.68502                   -0.60890                   -1.62204  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-3.06911 -0.54053  0.02395  0.54548  2.68890 

Coefficients:
                            Estimate Std. Error t value Pr(>|t|)    
(Intercept)               396.174815  79.386931   4.990 8.57e-07 ***
currentDF[, TRAIT]          0.473215   0.041069  11.522  < 2e-16 ***
Age                        -0.010761   0.005218  -2.062  0.03974 *  
Gendermale                  0.131128   0.092224   1.422  0.15575    
ORdate_year                -0.196685   0.039619  -4.964 9.73e-07 ***
Hypertension.compositeyes  -0.278728   0.119263  -2.337  0.01986 *  
DiabetesStatusDiabetes     -0.024611   0.102482  -0.240  0.81032    
SmokerStatusEx-smoker       0.177017   0.090168   1.963  0.05023 .  
SmokerStatusNever smoked    0.323357   0.132778   2.435  0.01526 *  
Med.Statin.LLDyes          -0.090403   0.092376  -0.979  0.32827    
Med.all.antiplateletyes     0.248239   0.145528   1.706  0.08873 .  
GFR_MDRD                    0.001309   0.002298   0.570  0.56911    
BMI                        -0.031639   0.011018  -2.871  0.00428 ** 
MedHx_CVDyes                0.023068   0.084768   0.272  0.78565    
stenose50-70%              -0.861245   0.549700  -1.567  0.11786    
stenose70-90%              -0.721187   0.512264  -1.408  0.15985    
stenose90-99%              -0.651536   0.509866  -1.278  0.20195    
stenose100% (Occlusion)    -1.677012   0.647752  -2.589  0.00993 ** 
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.8621 on 459 degrees of freedom
Multiple R-squared:  0.2969,    Adjusted R-squared:  0.2708 
F-statistic:  11.4 on 17 and 459 DF,  p-value: < 2.2e-16

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' MMP8_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_rank 
Trait/outcome.............: MMP8_rank 
Effect size...............: 0.473215 
Standard error............: 0.041069 
Odds ratio (effect size)..: 1.605 
Lower 95% CI..............: 1.481 
Upper 95% CI..............: 1.74 
T-value...................: 11.52248 
P-value...................: 3.710762e-27 
R^2.......................: 0.296872 
Adjusted r^2..............: 0.27083 
Sample size of AE DB......: 2423 
Sample size of model......: 477 
Missing data %............: 80.31366 

- processing MMP9_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + SmokerStatus + 
    Med.all.antiplatelet + BMI, data = currentDF)

Coefficients:
              (Intercept)         currentDF[, TRAIT]                        Age                 Gendermale                ORdate_year  
                261.74610                    0.60020                   -0.01143                    0.21359                   -0.13001  
Hypertension.compositeyes      SmokerStatusEx-smoker   SmokerStatusNever smoked    Med.all.antiplateletyes                        BMI  
                 -0.18921                    0.13122                    0.23333                    0.32574                   -0.03044  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-3.07159 -0.47744 -0.02571  0.49342  2.79265 

Coefficients:
                            Estimate Std. Error t value Pr(>|t|)    
(Intercept)               255.302470  72.052050   3.543 0.000436 ***
currentDF[, TRAIT]          0.602903   0.037128  16.238  < 2e-16 ***
Age                        -0.011154   0.004713  -2.366 0.018380 *  
Gendermale                  0.202433   0.082269   2.461 0.014238 *  
ORdate_year                -0.126662   0.035959  -3.522 0.000471 ***
Hypertension.compositeyes  -0.169317   0.108823  -1.556 0.120423    
DiabetesStatusDiabetes      0.007354   0.092609   0.079 0.936743    
SmokerStatusEx-smoker       0.139631   0.081284   1.718 0.086506 .  
SmokerStatusNever smoked    0.244867   0.120009   2.040 0.041883 *  
Med.Statin.LLDyes          -0.106001   0.083422  -1.271 0.204497    
Med.all.antiplateletyes     0.276223   0.131469   2.101 0.036183 *  
GFR_MDRD                    0.001761   0.002075   0.849 0.396498    
BMI                        -0.033145   0.009935  -3.336 0.000919 ***
MedHx_CVDyes                0.047506   0.076557   0.621 0.535216    
stenose50-70%              -0.296349   0.495684  -0.598 0.550230    
stenose70-90%              -0.238666   0.460977  -0.518 0.604889    
stenose90-99%              -0.260377   0.459383  -0.567 0.571131    
stenose100% (Occlusion)    -1.037848   0.582274  -1.782 0.075346 .  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.7786 on 458 degrees of freedom
Multiple R-squared:  0.4262,    Adjusted R-squared:  0.4049 
F-statistic: 20.01 on 17 and 458 DF,  p-value: < 2.2e-16

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' MMP9_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_rank 
Trait/outcome.............: MMP9_rank 
Effect size...............: 0.602903 
Standard error............: 0.037128 
Odds ratio (effect size)..: 1.827 
Lower 95% CI..............: 1.699 
Upper 95% CI..............: 1.965 
T-value...................: 16.2383 
P-value...................: 3.674529e-47 
R^2.......................: 0.426227 
Adjusted r^2..............: 0.40493 
Sample size of AE DB......: 2423 
Sample size of model......: 476 
Missing data %............: 80.35493 

Analysis of MCP1_plasma_olink_rank.

- processing IL2_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + GFR_MDRD, 
    data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]            GFR_MDRD  
           0.81116            -0.17540            -0.01086  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-2.01057 -0.55353 -0.02598  0.53951  2.36127 

Coefficients:
                            Estimate Std. Error t value Pr(>|t|)
(Intercept)               -46.109252 220.953936  -0.209    0.835
currentDF[, TRAIT]         -0.166300   0.113110  -1.470    0.145
Age                        -0.004869   0.013629  -0.357    0.722
Gendermale                  0.109903   0.232709   0.472    0.638
ORdate_year                 0.024035   0.110101   0.218    0.828
Hypertension.compositeyes  -0.033523   0.259514  -0.129    0.898
DiabetesStatusDiabetes      0.100091   0.276170   0.362    0.718
SmokerStatusEx-smoker       0.167771   0.216832   0.774    0.441
SmokerStatusNever smoked    0.503057   0.368707   1.364    0.176
Med.Statin.LLDyes          -0.217166   0.215627  -1.007    0.317
Med.all.antiplateletyes    -0.120974   0.381036  -0.317    0.752
GFR_MDRD                   -0.010495   0.007101  -1.478    0.143
BMI                         0.006729   0.032426   0.208    0.836
MedHx_CVDyes                0.107853   0.228611   0.472    0.638
stenose50-70%              -2.337167   1.488698  -1.570    0.120
stenose70-90%              -1.030789   1.007372  -1.023    0.309
stenose90-99%              -1.166742   0.999878  -1.167    0.246

Residual standard error: 0.9459 on 86 degrees of freedom
Multiple R-squared:  0.141, Adjusted R-squared:  -0.01887 
F-statistic: 0.8819 on 16 and 86 DF,  p-value: 0.5914

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_plasma_olink_rank ' with ' IL2_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_plasma_olink_rank 
Trait/outcome.............: IL2_rank 
Effect size...............: -0.1663 
Standard error............: 0.11311 
Odds ratio (effect size)..: 0.847 
Lower 95% CI..............: 0.678 
Upper 95% CI..............: 1.057 
T-value...................: -1.470253 
P-value...................: 0.1451424 
R^2.......................: 0.140951 
Adjusted r^2..............: -0.018872 
Sample size of AE DB......: 2423 
Sample size of model......: 103 
Missing data %............: 95.74907 

- processing IL4_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ GFR_MDRD, data = currentDF)

Coefficients:
(Intercept)     GFR_MDRD  
    1.17955     -0.01661  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-2.13637 -0.52962  0.02432  0.58833  2.26962 

Coefficients:
                            Estimate Std. Error t value Pr(>|t|)  
(Intercept)                68.160543 208.381001   0.327   0.7444  
currentDF[, TRAIT]         -0.047778   0.106469  -0.449   0.6547  
Age                        -0.001212   0.012869  -0.094   0.9252  
Gendermale                  0.105459   0.242794   0.434   0.6651  
ORdate_year                -0.034191   0.103904  -0.329   0.7429  
Hypertension.compositeyes  -0.061321   0.258422  -0.237   0.8130  
DiabetesStatusDiabetes      0.121243   0.267539   0.453   0.6516  
SmokerStatusEx-smoker       0.162829   0.204761   0.795   0.4287  
SmokerStatusNever smoked    0.484717   0.348679   1.390   0.1681  
Med.Statin.LLDyes          -0.031691   0.206961  -0.153   0.8787  
Med.all.antiplateletyes    -0.245396   0.349070  -0.703   0.4840  
GFR_MDRD                   -0.014100   0.007285  -1.935   0.0562 .
BMI                         0.014667   0.029947   0.490   0.6255  
MedHx_CVDyes                0.152231   0.216828   0.702   0.4845  
stenose70-90%               1.018902   1.041120   0.979   0.3305  
stenose90-99%               1.008607   1.044180   0.966   0.3368  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9075 on 86 degrees of freedom
Multiple R-squared:  0.1334,    Adjusted R-squared:  -0.0178 
F-statistic: 0.8822 on 15 and 86 DF,  p-value: 0.5858

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_plasma_olink_rank ' with ' IL4_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_plasma_olink_rank 
Trait/outcome.............: IL4_rank 
Effect size...............: -0.047778 
Standard error............: 0.106469 
Odds ratio (effect size)..: 0.953 
Lower 95% CI..............: 0.774 
Upper 95% CI..............: 1.175 
T-value...................: -0.448748 
P-value...................: 0.6547423 
R^2.......................: 0.133357 
Adjusted r^2..............: -0.017802 
Sample size of AE DB......: 2423 
Sample size of model......: 102 
Missing data %............: 95.79034 

- processing IL5_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + GFR_MDRD, 
    data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]            GFR_MDRD  
          0.623461           -0.202543           -0.008233  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-1.95526 -0.52301 -0.01455  0.47792  2.10467 

Coefficients:
                            Estimate Std. Error t value Pr(>|t|)  
(Intercept)               -8.716e+01  2.136e+02  -0.408   0.6843  
currentDF[, TRAIT]        -2.166e-01  1.063e-01  -2.037   0.0446 *
Age                       -2.966e-05  1.348e-02  -0.002   0.9982  
Gendermale                 9.871e-02  2.284e-01   0.432   0.6666  
ORdate_year                4.286e-02  1.065e-01   0.402   0.6884  
Hypertension.compositeyes  6.568e-02  2.489e-01   0.264   0.7925  
DiabetesStatusDiabetes     2.006e-02  2.695e-01   0.074   0.9408  
SmokerStatusEx-smoker      1.857e-01  2.161e-01   0.859   0.3926  
SmokerStatusNever smoked   4.687e-01  3.662e-01   1.280   0.2039  
Med.Statin.LLDyes         -1.425e-01  2.066e-01  -0.690   0.4922  
Med.all.antiplateletyes   -1.668e-01  3.566e-01  -0.468   0.6410  
GFR_MDRD                  -5.484e-03  7.109e-03  -0.771   0.4425  
BMI                        1.981e-02  2.879e-02   0.688   0.4932  
MedHx_CVDyes               1.339e-01  2.115e-01   0.633   0.5282  
stenose70-90%              1.129e+00  1.065e+00   1.060   0.2920  
stenose90-99%              1.073e+00  1.074e+00   0.999   0.3204  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9413 on 89 degrees of freedom
Multiple R-squared:  0.1258,    Adjusted R-squared:  -0.02158 
F-statistic: 0.8535 on 15 and 89 DF,  p-value: 0.6168

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_plasma_olink_rank ' with ' IL5_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_plasma_olink_rank 
Trait/outcome.............: IL5_rank 
Effect size...............: -0.216555 
Standard error............: 0.106311 
Odds ratio (effect size)..: 0.805 
Lower 95% CI..............: 0.654 
Upper 95% CI..............: 0.992 
T-value...................: -2.036993 
P-value...................: 0.04462147 
R^2.......................: 0.125763 
Adjusted r^2..............: -0.021581 
Sample size of AE DB......: 2423 
Sample size of model......: 105 
Missing data %............: 95.66653 

- processing IL6_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ Gender + GFR_MDRD + BMI, 
    data = currentDF)

Coefficients:
(Intercept)   Gendermale     GFR_MDRD          BMI  
  -0.437786     0.279390    -0.009769     0.037635  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-1.9058 -0.5835  0.0000  0.5142  2.2702 

Coefficients:
                            Estimate Std. Error t value Pr(>|t|)  
(Intercept)               -1.002e+02  2.144e+02  -0.467    0.641  
currentDF[, TRAIT]        -1.898e-02  1.057e-01  -0.180    0.858  
Age                       -2.249e-03  1.357e-02  -0.166    0.869  
Gendermale                 1.922e-01  2.286e-01   0.841    0.403  
ORdate_year                5.066e-02  1.068e-01   0.474    0.637  
Hypertension.compositeyes -7.004e-02  2.500e-01  -0.280    0.780  
DiabetesStatusDiabetes     1.487e-01  2.565e-01   0.580    0.564  
SmokerStatusEx-smoker      1.553e-01  2.128e-01   0.730    0.468  
SmokerStatusNever smoked   3.705e-01  3.535e-01   1.048    0.298  
Med.Statin.LLDyes         -1.423e-01  2.040e-01  -0.697    0.488  
Med.all.antiplateletyes   -6.283e-02  3.431e-01  -0.183    0.855  
GFR_MDRD                  -7.760e-03  7.005e-03  -1.108    0.271  
BMI                        1.959e-02  2.516e-02   0.779    0.438  
MedHx_CVDyes               2.825e-01  2.155e-01   1.311    0.193  
stenose50-70%             -2.757e+00  1.411e+00  -1.954    0.054 .
stenose70-90%             -1.217e+00  9.803e-01  -1.242    0.218  
stenose90-99%             -1.278e+00  9.723e-01  -1.315    0.192  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9157 on 86 degrees of freedom
Multiple R-squared:  0.1477,    Adjusted R-squared:  -0.01084 
F-statistic: 0.9316 on 16 and 86 DF,  p-value: 0.5369

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_plasma_olink_rank ' with ' IL6_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_plasma_olink_rank 
Trait/outcome.............: IL6_rank 
Effect size...............: -0.018977 
Standard error............: 0.105677 
Odds ratio (effect size)..: 0.981 
Lower 95% CI..............: 0.798 
Upper 95% CI..............: 1.207 
T-value...................: -0.179571 
P-value...................: 0.8579115 
R^2.......................: 0.147724 
Adjusted r^2..............: -0.010838 
Sample size of AE DB......: 2423 
Sample size of model......: 103 
Missing data %............: 95.74907 

- processing IL8_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ GFR_MDRD, data = currentDF)

Coefficients:
(Intercept)     GFR_MDRD  
    0.97041     -0.01294  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-1.93039 -0.56878 -0.00704  0.48556  2.57505 

Coefficients:
                            Estimate Std. Error t value Pr(>|t|)  
(Intercept)               -5.551e+01  1.988e+02  -0.279   0.7807  
currentDF[, TRAIT]        -2.170e-02  1.001e-01  -0.217   0.8288  
Age                        1.993e-04  1.296e-02   0.015   0.9878  
Gendermale                 2.567e-01  2.230e-01   1.151   0.2530  
ORdate_year                2.864e-02  9.910e-02   0.289   0.7733  
Hypertension.compositeyes  5.908e-02  2.564e-01   0.230   0.8183  
DiabetesStatusDiabetes     1.626e-01  2.611e-01   0.623   0.5351  
SmokerStatusEx-smoker      3.003e-02  2.116e-01   0.142   0.8875  
SmokerStatusNever smoked   3.717e-01  3.774e-01   0.985   0.3275  
Med.Statin.LLDyes          3.319e-03  2.106e-01   0.016   0.9875  
Med.all.antiplateletyes   -3.580e-01  3.587e-01  -0.998   0.3211  
GFR_MDRD                  -1.097e-02  6.497e-03  -1.688   0.0951 .
BMI                        1.560e-02  2.565e-02   0.608   0.5447  
MedHx_CVDyes              -8.887e-02  2.159e-01  -0.412   0.6817  
stenose70-90%             -1.286e+00  9.653e-01  -1.333   0.1862  
stenose90-99%             -1.462e+00  9.630e-01  -1.518   0.1327  
stenose100% (Occlusion)   -1.235e+00  1.359e+00  -0.909   0.3660  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9302 on 85 degrees of freedom
Multiple R-squared:  0.1351,    Adjusted R-squared:  -0.02771 
F-statistic: 0.8298 on 16 and 85 DF,  p-value: 0.649

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_plasma_olink_rank ' with ' IL8_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_plasma_olink_rank 
Trait/outcome.............: IL8_rank 
Effect size...............: -0.021698 
Standard error............: 0.100058 
Odds ratio (effect size)..: 0.979 
Lower 95% CI..............: 0.804 
Upper 95% CI..............: 1.191 
T-value...................: -0.216857 
P-value...................: 0.8288393 
R^2.......................: 0.135094 
Adjusted r^2..............: -0.027712 
Sample size of AE DB......: 2423 
Sample size of model......: 102 
Missing data %............: 95.79034 

- processing IL9_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ GFR_MDRD, data = currentDF)

Coefficients:
(Intercept)     GFR_MDRD  
    1.18287     -0.01524  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-2.02862 -0.56904 -0.01368  0.61609  2.47130 

Coefficients:
                            Estimate Std. Error t value Pr(>|t|)  
(Intercept)               -56.926882 155.877905  -0.365   0.7157  
currentDF[, TRAIT]          0.059252   0.105548   0.561   0.5758  
Age                         0.002052   0.012126   0.169   0.8660  
Gendermale                  0.069865   0.202926   0.344   0.7313  
ORdate_year                 0.029680   0.077633   0.382   0.7030  
Hypertension.compositeyes   0.172614   0.225676   0.765   0.4461  
DiabetesStatusDiabetes      0.304248   0.224808   1.353   0.1790  
SmokerStatusEx-smoker      -0.008080   0.207139  -0.039   0.9690  
SmokerStatusNever smoked    0.156490   0.332080   0.471   0.6385  
Med.Statin.LLDyes          -0.176254   0.212734  -0.829   0.4093  
Med.all.antiplateletyes    -0.480954   0.398367  -1.207   0.2301  
GFR_MDRD                   -0.013004   0.005617  -2.315   0.0226 *
BMI                         0.004347   0.022253   0.195   0.8455  
MedHx_CVDyes                0.042893   0.199643   0.215   0.8303  
stenose50-70%              -0.538106   1.357676  -0.396   0.6927  
stenose70-90%              -1.345401   0.965176  -1.394   0.1664  
stenose90-99%              -1.574180   0.967472  -1.627   0.1068  
stenose100% (Occlusion)    -1.202558   1.323597  -0.909   0.3657  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.931 on 101 degrees of freedom
Multiple R-squared:  0.159, Adjusted R-squared:  0.01745 
F-statistic: 1.123 on 17 and 101 DF,  p-value: 0.343

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_plasma_olink_rank ' with ' IL9_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_plasma_olink_rank 
Trait/outcome.............: IL9_rank 
Effect size...............: 0.059252 
Standard error............: 0.105548 
Odds ratio (effect size)..: 1.061 
Lower 95% CI..............: 0.863 
Upper 95% CI..............: 1.305 
T-value...................: 0.561371 
P-value...................: 0.575788 
R^2.......................: 0.159001 
Adjusted r^2..............: 0.017446 
Sample size of AE DB......: 2423 
Sample size of model......: 119 
Missing data %............: 95.08873 

- processing IL10_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ GFR_MDRD + BMI, data = currentDF)

Coefficients:
(Intercept)     GFR_MDRD          BMI  
    0.14139     -0.01557      0.03508  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-2.05936 -0.54725 -0.00857  0.49024  1.87269 

Coefficients:
                            Estimate Std. Error t value Pr(>|t|)  
(Intercept)               131.142636 225.032294   0.583    0.562  
currentDF[, TRAIT]         -0.065515   0.105804  -0.619    0.538  
Age                        -0.001050   0.012812  -0.082    0.935  
Gendermale                  0.180994   0.225396   0.803    0.424  
ORdate_year                -0.065732   0.112141  -0.586    0.559  
Hypertension.compositeyes  -0.113544   0.245443  -0.463    0.645  
DiabetesStatusDiabetes      0.070500   0.262474   0.269    0.789  
SmokerStatusEx-smoker       0.071905   0.203917   0.353    0.725  
SmokerStatusNever smoked    0.451593   0.333741   1.353    0.180  
Med.Statin.LLDyes          -0.119197   0.204890  -0.582    0.562  
Med.all.antiplateletyes    -0.172398   0.350679  -0.492    0.624  
GFR_MDRD                   -0.014224   0.006949  -2.047    0.044 *
BMI                         0.027292   0.029740   0.918    0.362  
MedHx_CVDyes                0.065037   0.213753   0.304    0.762  
stenose70-90%               0.867352   0.997041   0.870    0.387  
stenose90-99%               0.950746   1.002811   0.948    0.346  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.8669 on 80 degrees of freedom
Multiple R-squared:  0.1626,    Adjusted R-squared:  0.00562 
F-statistic: 1.036 on 15 and 80 DF,  p-value: 0.4289

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_plasma_olink_rank ' with ' IL10_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_plasma_olink_rank 
Trait/outcome.............: IL10_rank 
Effect size...............: -0.065515 
Standard error............: 0.105804 
Odds ratio (effect size)..: 0.937 
Lower 95% CI..............: 0.761 
Upper 95% CI..............: 1.152 
T-value...................: -0.619213 
P-value...................: 0.5375354 
R^2.......................: 0.162628 
Adjusted r^2..............: 0.00562 
Sample size of AE DB......: 2423 
Sample size of model......: 96 
Missing data %............: 96.03797 

- processing IL12_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + GFR_MDRD, 
    data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]            GFR_MDRD  
           1.01443            -0.13957            -0.01384  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-2.05487 -0.54994 -0.02101  0.51977  2.15950 

Coefficients:
                            Estimate Std. Error t value Pr(>|t|)  
(Intercept)               -25.664286 234.698043  -0.109    0.913  
currentDF[, TRAIT]         -0.146078   0.117402  -1.244    0.217  
Age                        -0.007234   0.013897  -0.521    0.604  
Gendermale                  0.166039   0.230039   0.722    0.472  
ORdate_year                 0.012790   0.116910   0.109    0.913  
Hypertension.compositeyes   0.022157   0.266237   0.083    0.934  
DiabetesStatusDiabetes      0.040332   0.271921   0.148    0.882  
SmokerStatusEx-smoker       0.290335   0.220310   1.318    0.191  
SmokerStatusNever smoked    0.521503   0.358398   1.455    0.149  
Med.Statin.LLDyes          -0.017059   0.217635  -0.078    0.938  
Med.all.antiplateletyes    -0.185242   0.353073  -0.525    0.601  
GFR_MDRD                   -0.013488   0.007506  -1.797    0.076 .
BMI                         0.016101   0.031315   0.514    0.609  
MedHx_CVDyes                0.029296   0.231281   0.127    0.900  
stenose70-90%               0.946397   1.077747   0.878    0.382  
stenose90-99%               0.902003   1.092528   0.826    0.411  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9209 on 82 degrees of freedom
Multiple R-squared:  0.1413,    Adjusted R-squared:  -0.01581 
F-statistic: 0.8994 on 15 and 82 DF,  p-value: 0.5675

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_plasma_olink_rank ' with ' IL12_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_plasma_olink_rank 
Trait/outcome.............: IL12_rank 
Effect size...............: -0.146078 
Standard error............: 0.117402 
Odds ratio (effect size)..: 0.864 
Lower 95% CI..............: 0.686 
Upper 95% CI..............: 1.088 
T-value...................: -1.244262 
P-value...................: 0.216948 
R^2.......................: 0.141277 
Adjusted r^2..............: -0.015807 
Sample size of AE DB......: 2423 
Sample size of model......: 98 
Missing data %............: 95.95543 

- processing IL13_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ GFR_MDRD, data = currentDF)

Coefficients:
(Intercept)     GFR_MDRD  
     1.3108      -0.0174  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-2.17909 -0.59609  0.00429  0.55902  2.67512 

Coefficients:
                            Estimate Std. Error t value Pr(>|t|)   
(Intercept)               -3.637e+01  1.516e+02  -0.240  0.81077   
currentDF[, TRAIT]         7.369e-02  9.063e-02   0.813  0.41786   
Age                        7.898e-04  1.103e-02   0.072  0.94302   
Gendermale                 9.590e-02  1.895e-01   0.506  0.61377   
ORdate_year                1.933e-02  7.548e-02   0.256  0.79836   
Hypertension.compositeyes  1.351e-01  2.126e-01   0.635  0.52643   
DiabetesStatusDiabetes     1.546e-01  2.077e-01   0.744  0.45810   
SmokerStatusEx-smoker      8.432e-03  1.884e-01   0.045  0.96439   
SmokerStatusNever smoked   1.933e-01  3.242e-01   0.596  0.55231   
Med.Statin.LLDyes         -6.918e-02  1.919e-01  -0.360  0.71916   
Med.all.antiplateletyes   -1.813e-01  3.016e-01  -0.601  0.54906   
GFR_MDRD                  -1.620e-02  5.387e-03  -3.007  0.00324 **
BMI                        6.539e-03  2.114e-02   0.309  0.75759   
MedHx_CVDyes               7.598e-02  1.835e-01   0.414  0.67961   
stenose50-70%             -1.392e+00  1.169e+00  -1.190  0.23647   
stenose70-90%             -1.275e+00  9.528e-01  -1.339  0.18333   
stenose90-99%             -1.520e+00  9.537e-01  -1.594  0.11364   
stenose100% (Occlusion)   -1.211e+00  1.314e+00  -0.922  0.35848   
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9242 on 115 degrees of freedom
Multiple R-squared:  0.1547,    Adjusted R-squared:  0.02977 
F-statistic: 1.238 on 17 and 115 DF,  p-value: 0.2467

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_plasma_olink_rank ' with ' IL13_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_plasma_olink_rank 
Trait/outcome.............: IL13_rank 
Effect size...............: 0.07369 
Standard error............: 0.090633 
Odds ratio (effect size)..: 1.076 
Lower 95% CI..............: 0.901 
Upper 95% CI..............: 1.286 
T-value...................: 0.813058 
P-value...................: 0.4178648 
R^2.......................: 0.154725 
Adjusted r^2..............: 0.029771 
Sample size of AE DB......: 2423 
Sample size of model......: 133 
Missing data %............: 94.51094 

- processing IL21_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ GFR_MDRD, data = currentDF)

Coefficients:
(Intercept)     GFR_MDRD  
     1.3108      -0.0174  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-2.1833 -0.6015  0.0000  0.5600  2.6811 

Coefficients:
                            Estimate Std. Error t value Pr(>|t|)   
(Intercept)               -42.584622 151.060425  -0.282  0.77852   
currentDF[, TRAIT]          0.095314   0.087326   1.091  0.27735   
Age                         0.000785   0.010985   0.071  0.94316   
Gendermale                  0.087433   0.189366   0.462  0.64516   
ORdate_year                 0.022472   0.075239   0.299  0.76573   
Hypertension.compositeyes   0.132587   0.211748   0.626  0.53245   
DiabetesStatusDiabetes      0.150070   0.207287   0.724  0.47055   
SmokerStatusEx-smoker       0.014017   0.187902   0.075  0.94066   
SmokerStatusNever smoked    0.183578   0.323727   0.567  0.57177   
Med.Statin.LLDyes          -0.069801   0.190999  -0.365  0.71545   
Med.all.antiplateletyes    -0.186215   0.300982  -0.619  0.53734   
GFR_MDRD                   -0.016293   0.005376  -3.031  0.00301 **
BMI                         0.005706   0.021119   0.270  0.78752   
MedHx_CVDyes                0.083958   0.183416   0.458  0.64800   
stenose50-70%              -1.459175   1.170343  -1.247  0.21501   
stenose70-90%              -1.320332   0.952580  -1.386  0.16841   
stenose90-99%              -1.572519   0.953777  -1.649  0.10193   
stenose100% (Occlusion)    -1.220177   1.309789  -0.932  0.35350   
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9221 on 115 degrees of freedom
Multiple R-squared:  0.1586,    Adjusted R-squared:  0.0342 
F-statistic: 1.275 on 17 and 115 DF,  p-value: 0.2211

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_plasma_olink_rank ' with ' IL21_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_plasma_olink_rank 
Trait/outcome.............: IL21_rank 
Effect size...............: 0.095314 
Standard error............: 0.087326 
Odds ratio (effect size)..: 1.1 
Lower 95% CI..............: 0.927 
Upper 95% CI..............: 1.305 
T-value...................: 1.091469 
P-value...................: 0.277348 
R^2.......................: 0.158582 
Adjusted r^2..............: 0.034198 
Sample size of AE DB......: 2423 
Sample size of model......: 133 
Missing data %............: 94.51094 

- processing INFG_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ GFR_MDRD + BMI, data = currentDF)

Coefficients:
(Intercept)     GFR_MDRD          BMI  
    0.26426     -0.01842      0.03916  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-2.18492 -0.52504 -0.02817  0.50640  1.87246 

Coefficients:
                            Estimate Std. Error t value Pr(>|t|)   
(Intercept)               135.487774 206.197250   0.657  0.51289   
currentDF[, TRAIT]         -0.128675   0.116590  -1.104  0.27282   
Age                        -0.005634   0.011538  -0.488  0.62658   
Gendermale                  0.244724   0.208039   1.176  0.24271   
ORdate_year                -0.066694   0.102798  -0.649  0.51820   
Hypertension.compositeyes   0.019508   0.232682   0.084  0.93338   
DiabetesStatusDiabetes      0.103540   0.236337   0.438  0.66241   
SmokerStatusEx-smoker       0.065103   0.189836   0.343  0.73248   
SmokerStatusNever smoked    0.413191   0.345215   1.197  0.23463   
Med.Statin.LLDyes          -0.029079   0.202359  -0.144  0.88607   
Med.all.antiplateletyes    -0.158282   0.311183  -0.509  0.61230   
GFR_MDRD                   -0.017755   0.006142  -2.890  0.00487 **
BMI                         0.034901   0.024490   1.425  0.15774   
MedHx_CVDyes               -0.005517   0.208196  -0.027  0.97892   
stenose50-70%              -1.689022   1.134954  -1.488  0.14036   
stenose70-90%              -1.330221   0.904302  -1.471  0.14494   
stenose90-99%              -1.257411   0.896647  -1.402  0.16441   
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.8571 on 86 degrees of freedom
Multiple R-squared:  0.2342,    Adjusted R-squared:  0.09173 
F-statistic: 1.644 on 16 and 86 DF,  p-value: 0.07446

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_plasma_olink_rank ' with ' INFG_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_plasma_olink_rank 
Trait/outcome.............: INFG_rank 
Effect size...............: -0.128675 
Standard error............: 0.11659 
Odds ratio (effect size)..: 0.879 
Lower 95% CI..............: 0.7 
Upper 95% CI..............: 1.105 
T-value...................: -1.10365 
P-value...................: 0.2728237 
R^2.......................: 0.234204 
Adjusted r^2..............: 0.091731 
Sample size of AE DB......: 2423 
Sample size of model......: 103 
Missing data %............: 95.74907 

- processing TNFA_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ GFR_MDRD + BMI, data = currentDF)

Coefficients:
(Intercept)     GFR_MDRD          BMI  
    0.28432     -0.01658      0.03476  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-2.08701 -0.51859  0.01372  0.54943  2.15003 

Coefficients:
                            Estimate Std. Error t value Pr(>|t|)  
(Intercept)               188.621096 205.642066   0.917   0.3617  
currentDF[, TRAIT]         -0.102401   0.106436  -0.962   0.3388  
Age                        -0.002801   0.011992  -0.234   0.8159  
Gendermale                  0.047208   0.215341   0.219   0.8270  
ORdate_year                -0.094200   0.102519  -0.919   0.3609  
Hypertension.compositeyes  -0.088498   0.244246  -0.362   0.7180  
DiabetesStatusDiabetes      0.164325   0.245112   0.670   0.5045  
SmokerStatusEx-smoker       0.216085   0.201820   1.071   0.2875  
SmokerStatusNever smoked    0.489164   0.330627   1.480   0.1428  
Med.Statin.LLDyes          -0.097734   0.200695  -0.487   0.6276  
Med.all.antiplateletyes    -0.262662   0.303010  -0.867   0.3886  
GFR_MDRD                   -0.015850   0.006569  -2.413   0.0181 *
BMI                         0.016403   0.028173   0.582   0.5620  
MedHx_CVDyes                0.187501   0.209443   0.895   0.3733  
stenose70-90%               1.050133   0.980538   1.071   0.2873  
stenose90-99%               1.032196   0.984150   1.049   0.2973  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.8568 on 82 degrees of freedom
Multiple R-squared:  0.1876,    Adjusted R-squared:  0.03904 
F-statistic: 1.263 on 15 and 82 DF,  p-value: 0.2449

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_plasma_olink_rank ' with ' TNFA_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_plasma_olink_rank 
Trait/outcome.............: TNFA_rank 
Effect size...............: -0.102401 
Standard error............: 0.106436 
Odds ratio (effect size)..: 0.903 
Lower 95% CI..............: 0.733 
Upper 95% CI..............: 1.112 
T-value...................: -0.962093 
P-value...................: 0.3388313 
R^2.......................: 0.187638 
Adjusted r^2..............: 0.039035 
Sample size of AE DB......: 2423 
Sample size of model......: 98 
Missing data %............: 95.95543 

- processing MIF_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ GFR_MDRD, data = currentDF)

Coefficients:
(Intercept)     GFR_MDRD  
     1.3108      -0.0174  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
   Min     1Q Median     3Q    Max 
-2.114 -0.581  0.000  0.597  2.725 

Coefficients:
                            Estimate Std. Error t value Pr(>|t|)   
(Intercept)               -7.255e+01  1.674e+02  -0.433  0.66552   
currentDF[, TRAIT]         4.386e-02  1.010e-01   0.434  0.66487   
Age                        4.828e-04  1.105e-02   0.044  0.96523   
Gendermale                 1.035e-01  1.899e-01   0.545  0.58679   
ORdate_year                3.733e-02  8.339e-02   0.448  0.65526   
Hypertension.compositeyes  1.372e-01  2.149e-01   0.638  0.52453   
DiabetesStatusDiabetes     1.514e-01  2.084e-01   0.726  0.46912   
SmokerStatusEx-smoker      1.373e-02  1.887e-01   0.073  0.94213   
SmokerStatusNever smoked   2.126e-01  3.242e-01   0.656  0.51336   
Med.Statin.LLDyes         -4.262e-02  1.923e-01  -0.222  0.82500   
Med.all.antiplateletyes   -1.805e-01  3.022e-01  -0.597  0.55143   
GFR_MDRD                  -1.615e-02  5.401e-03  -2.990  0.00342 **
BMI                        6.827e-03  2.122e-02   0.322  0.74831   
MedHx_CVDyes               5.675e-02  1.850e-01   0.307  0.75962   
stenose50-70%             -1.264e+00  1.178e+00  -1.073  0.28550   
stenose70-90%             -1.192e+00  9.517e-01  -1.252  0.21300   
stenose90-99%             -1.421e+00  9.473e-01  -1.500  0.13628   
stenose100% (Occlusion)   -1.256e+00  1.315e+00  -0.955  0.34145   
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9261 on 115 degrees of freedom
Multiple R-squared:  0.1513,    Adjusted R-squared:  0.02579 
F-statistic: 1.206 on 17 and 115 DF,  p-value: 0.2713

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_plasma_olink_rank ' with ' MIF_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_plasma_olink_rank 
Trait/outcome.............: MIF_rank 
Effect size...............: 0.043856 
Standard error............: 0.100978 
Odds ratio (effect size)..: 1.045 
Lower 95% CI..............: 0.857 
Upper 95% CI..............: 1.274 
T-value...................: 0.434317 
P-value...................: 0.6648717 
R^2.......................: 0.151258 
Adjusted r^2..............: 0.025791 
Sample size of AE DB......: 2423 
Sample size of model......: 133 
Missing data %............: 94.51094 

- processing MCP1_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ GFR_MDRD, data = currentDF)

Coefficients:
(Intercept)     GFR_MDRD  
     1.2443      -0.0164  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-2.0785 -0.6125  0.0000  0.5606  2.6138 

Coefficients:
                            Estimate Std. Error t value Pr(>|t|)   
(Intercept)                -1.319683 158.525085  -0.008  0.99337   
currentDF[, TRAIT]         -0.046677   0.087329  -0.534  0.59405   
Age                         0.000461   0.011024   0.042  0.96672   
Gendermale                  0.084068   0.191568   0.439  0.66161   
ORdate_year                 0.001938   0.078941   0.025  0.98046   
Hypertension.compositeyes   0.148181   0.214320   0.691  0.49073   
DiabetesStatusDiabetes      0.161569   0.206425   0.783  0.43544   
SmokerStatusEx-smoker      -0.025651   0.190008  -0.135  0.89285   
SmokerStatusNever smoked    0.175029   0.323613   0.541  0.58967   
Med.Statin.LLDyes          -0.009641   0.191053  -0.050  0.95984   
Med.all.antiplateletyes    -0.253841   0.327746  -0.775  0.44025   
GFR_MDRD                   -0.015294   0.005399  -2.833  0.00547 **
BMI                         0.001164   0.021200   0.055  0.95632   
MedHx_CVDyes                0.012324   0.184151   0.067  0.94676   
stenose50-70%              -1.407373   1.163649  -1.209  0.22902   
stenose70-90%              -1.289543   0.949761  -1.358  0.17725   
stenose90-99%              -1.534600   0.943590  -1.626  0.10666   
stenose100% (Occlusion)    -1.444954   1.340711  -1.078  0.28344   
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9179 on 113 degrees of freedom
Multiple R-squared:  0.1478,    Adjusted R-squared:  0.01959 
F-statistic: 1.153 on 17 and 113 DF,  p-value: 0.3149

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_plasma_olink_rank ' with ' MCP1_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_plasma_olink_rank 
Trait/outcome.............: MCP1_rank 
Effect size...............: -0.046677 
Standard error............: 0.087329 
Odds ratio (effect size)..: 0.954 
Lower 95% CI..............: 0.804 
Upper 95% CI..............: 1.133 
T-value...................: -0.534499 
P-value...................: 0.5940466 
R^2.......................: 0.1478 
Adjusted r^2..............: 0.019593 
Sample size of AE DB......: 2423 
Sample size of model......: 131 
Missing data %............: 94.59348 

- processing MIP1a_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ GFR_MDRD, data = currentDF)

Coefficients:
(Intercept)     GFR_MDRD  
    1.18287     -0.01524  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-2.10781 -0.55655 -0.00523  0.61658  2.44444 

Coefficients:
                            Estimate Std. Error t value Pr(>|t|)  
(Intercept)               -53.957572 154.581327  -0.349   0.7278  
currentDF[, TRAIT]          0.112198   0.099965   1.122   0.2644  
Age                         0.002664   0.012041   0.221   0.8253  
Gendermale                  0.050567   0.202904   0.249   0.8037  
ORdate_year                 0.028251   0.076983   0.367   0.7144  
Hypertension.compositeyes   0.168769   0.224667   0.751   0.4543  
DiabetesStatusDiabetes      0.293505   0.223586   1.313   0.1923  
SmokerStatusEx-smoker      -0.015914   0.205844  -0.077   0.9385  
SmokerStatusNever smoked    0.129127   0.331703   0.389   0.6979  
Med.Statin.LLDyes          -0.156725   0.211173  -0.742   0.4597  
Med.all.antiplateletyes    -0.484615   0.395876  -1.224   0.2237  
GFR_MDRD                   -0.013105   0.005583  -2.347   0.0209 *
BMI                         0.002538   0.022220   0.114   0.9093  
MedHx_CVDyes                0.051767   0.198392   0.261   0.7947  
stenose50-70%              -0.640887   1.353289  -0.474   0.6368  
stenose70-90%              -1.411733   0.960823  -1.469   0.1449  
stenose90-99%              -1.666240   0.963824  -1.729   0.0869 .
stenose100% (Occlusion)    -1.181444   1.317013  -0.897   0.3718  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9267 on 101 degrees of freedom
Multiple R-squared:  0.1668,    Adjusted R-squared:  0.02652 
F-statistic: 1.189 on 17 and 101 DF,  p-value: 0.287

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_plasma_olink_rank ' with ' MIP1a_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_plasma_olink_rank 
Trait/outcome.............: MIP1a_rank 
Effect size...............: 0.112198 
Standard error............: 0.099965 
Odds ratio (effect size)..: 1.119 
Lower 95% CI..............: 0.92 
Upper 95% CI..............: 1.361 
T-value...................: 1.122373 
P-value...................: 0.264365 
R^2.......................: 0.166769 
Adjusted r^2..............: 0.026522 
Sample size of AE DB......: 2423 
Sample size of model......: 119 
Missing data %............: 95.08873 

- processing RANTES_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ GFR_MDRD, data = currentDF)

Coefficients:
(Intercept)     GFR_MDRD  
    1.27555     -0.01674  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-2.1720 -0.6195  0.0000  0.6010  2.6151 

Coefficients:
                            Estimate Std. Error t value Pr(>|t|)   
(Intercept)               -50.618252 173.879543  -0.291  0.77150   
currentDF[, TRAIT]          0.031550   0.095881   0.329  0.74272   
Age                         0.002146   0.011027   0.195  0.84606   
Gendermale                  0.072293   0.188477   0.384  0.70202   
ORdate_year                 0.026441   0.086612   0.305  0.76071   
Hypertension.compositeyes   0.175559   0.212797   0.825  0.41109   
DiabetesStatusDiabetes      0.160291   0.207105   0.774  0.44056   
SmokerStatusEx-smoker      -0.026335   0.188481  -0.140  0.88912   
SmokerStatusNever smoked    0.162516   0.322530   0.504  0.61532   
Med.Statin.LLDyes          -0.026685   0.190233  -0.140  0.88869   
Med.all.antiplateletyes    -0.346046   0.313478  -1.104  0.27197   
GFR_MDRD                   -0.014938   0.005400  -2.767  0.00661 **
BMI                         0.003542   0.021071   0.168  0.86682   
MedHx_CVDyes                0.017358   0.184129   0.094  0.92506   
stenose50-70%              -1.295858   1.165789  -1.112  0.26866   
stenose70-90%              -1.209357   0.943827  -1.281  0.20268   
stenose90-99%              -1.450278   0.941262  -1.541  0.12614   
stenose100% (Occlusion)    -1.307620   1.309002  -0.999  0.31994   
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9179 on 114 degrees of freedom
Multiple R-squared:  0.1518,    Adjusted R-squared:  0.02534 
F-statistic:   1.2 on 17 and 114 DF,  p-value: 0.2756

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_plasma_olink_rank ' with ' RANTES_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_plasma_olink_rank 
Trait/outcome.............: RANTES_rank 
Effect size...............: 0.03155 
Standard error............: 0.095881 
Odds ratio (effect size)..: 1.032 
Lower 95% CI..............: 0.855 
Upper 95% CI..............: 1.245 
T-value...................: 0.329055 
P-value...................: 0.7427179 
R^2.......................: 0.151822 
Adjusted r^2..............: 0.02534 
Sample size of AE DB......: 2423 
Sample size of model......: 132 
Missing data %............: 94.55221 

- processing MIG_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ GFR_MDRD, data = currentDF)

Coefficients:
(Intercept)     GFR_MDRD  
    1.29106     -0.01703  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-2.16125 -0.56497 -0.01213  0.59805  2.57468 

Coefficients:
                            Estimate Std. Error t value Pr(>|t|)   
(Intercept)                -4.879612 156.818990  -0.031  0.97523   
currentDF[, TRAIT]          0.121010   0.096872   1.249  0.21418   
Age                         0.001982   0.010940   0.181  0.85658   
Gendermale                  0.097814   0.187748   0.521  0.60340   
ORdate_year                 0.003691   0.078085   0.047  0.96239   
Hypertension.compositeyes   0.159290   0.210559   0.757  0.45092   
DiabetesStatusDiabetes      0.255104   0.210218   1.214  0.22746   
SmokerStatusEx-smoker      -0.002560   0.187858  -0.014  0.98915   
SmokerStatusNever smoked    0.154519   0.321263   0.481  0.63147   
Med.Statin.LLDyes          -0.150572   0.193548  -0.778  0.43822   
Med.all.antiplateletyes    -0.274915   0.305850  -0.899  0.37064   
GFR_MDRD                   -0.015301   0.005355  -2.857  0.00509 **
BMI                         0.007003   0.020897   0.335  0.73816   
MedHx_CVDyes                0.022540   0.182333   0.124  0.90184   
stenose50-70%              -1.516268   1.158118  -1.309  0.19311   
stenose70-90%              -1.433701   0.950548  -1.508  0.13427   
stenose90-99%              -1.650391   0.952762  -1.732  0.08596 . 
stenose100% (Occlusion)    -1.223823   1.297364  -0.943  0.34753   
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9136 on 113 degrees of freedom
Multiple R-squared:  0.1647,    Adjusted R-squared:  0.03904 
F-statistic: 1.311 on 17 and 113 DF,  p-value: 0.1986

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_plasma_olink_rank ' with ' MIG_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_plasma_olink_rank 
Trait/outcome.............: MIG_rank 
Effect size...............: 0.12101 
Standard error............: 0.096872 
Odds ratio (effect size)..: 1.129 
Lower 95% CI..............: 0.933 
Upper 95% CI..............: 1.365 
T-value...................: 1.249172 
P-value...................: 0.2141836 
R^2.......................: 0.164703 
Adjusted r^2..............: 0.039039 
Sample size of AE DB......: 2423 
Sample size of model......: 131 
Missing data %............: 94.59348 

- processing IP10_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ GFR_MDRD, data = currentDF)

Coefficients:
(Intercept)     GFR_MDRD  
    1.28714     -0.01689  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-2.08206 -0.57042 -0.03433  0.58053  2.54662 

Coefficients:
                            Estimate Std. Error t value Pr(>|t|)   
(Intercept)                13.137498 149.722455   0.088  0.93025   
currentDF[, TRAIT]         -0.021942   0.100584  -0.218  0.82774   
Age                        -0.003050   0.011766  -0.259  0.79599   
Gendermale                  0.122518   0.190650   0.643  0.52188   
ORdate_year                -0.005172   0.074546  -0.069  0.94483   
Hypertension.compositeyes   0.204422   0.209575   0.975  0.33162   
DiabetesStatusDiabetes      0.281838   0.210173   1.341  0.18285   
SmokerStatusEx-smoker       0.018368   0.195566   0.094  0.92535   
SmokerStatusNever smoked    0.139415   0.365942   0.381  0.70400   
Med.Statin.LLDyes          -0.193192   0.200902  -0.962  0.33847   
Med.all.antiplateletyes    -0.283792   0.317269  -0.894  0.37313   
GFR_MDRD                   -0.015868   0.005374  -2.953  0.00389 **
BMI                         0.002942   0.020955   0.140  0.88862   
MedHx_CVDyes                0.071493   0.188544   0.379  0.70533   
stenose50-70%              -1.474926   1.131665  -1.303  0.19534   
stenose70-90%              -1.309380   0.921243  -1.421  0.15822   
stenose90-99%              -1.474394   0.920248  -1.602  0.11215   
stenose100% (Occlusion)    -1.304966   1.274105  -1.024  0.30811   
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.8921 on 104 degrees of freedom
Multiple R-squared:  0.1763,    Adjusted R-squared:  0.04169 
F-statistic:  1.31 on 17 and 104 DF,  p-value: 0.2012

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_plasma_olink_rank ' with ' IP10_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_plasma_olink_rank 
Trait/outcome.............: IP10_rank 
Effect size...............: -0.021942 
Standard error............: 0.100584 
Odds ratio (effect size)..: 0.978 
Lower 95% CI..............: 0.803 
Upper 95% CI..............: 1.191 
T-value...................: -0.218145 
P-value...................: 0.8277433 
R^2.......................: 0.176326 
Adjusted r^2..............: 0.041687 
Sample size of AE DB......: 2423 
Sample size of model......: 122 
Missing data %............: 94.96492 

- processing Eotaxin1_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ GFR_MDRD, data = currentDF)

Coefficients:
(Intercept)     GFR_MDRD  
     1.3108      -0.0174  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-2.24663 -0.59020  0.01836  0.58650  2.62238 

Coefficients:
                            Estimate Std. Error t value Pr(>|t|)   
(Intercept)               -22.005475 150.853651  -0.146  0.88428   
currentDF[, TRAIT]          0.132500   0.086157   1.538  0.12682   
Age                         0.001050   0.010929   0.096  0.92366   
Gendermale                  0.070113   0.189047   0.371  0.71141   
ORdate_year                 0.012240   0.075130   0.163  0.87087   
Hypertension.compositeyes   0.126078   0.210523   0.599  0.55043   
DiabetesStatusDiabetes      0.144952   0.206301   0.703  0.48371   
SmokerStatusEx-smoker       0.018313   0.186983   0.098  0.92215   
SmokerStatusNever smoked    0.174017   0.322046   0.540  0.59000   
Med.Statin.LLDyes          -0.060816   0.189430  -0.321  0.74876   
Med.all.antiplateletyes    -0.220758   0.300609  -0.734  0.46422   
GFR_MDRD                   -0.016212   0.005348  -3.031  0.00301 **
BMI                         0.005743   0.020973   0.274  0.78472   
MedHx_CVDyes                0.095723   0.182796   0.524  0.60152   
stenose50-70%              -1.508593   1.164243  -1.296  0.19765   
stenose70-90%              -1.371645   0.948222  -1.447  0.15074   
stenose90-99%              -1.632256   0.948752  -1.720  0.08804 . 
stenose100% (Occlusion)    -1.230613   1.302806  -0.945  0.34685   
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9175 on 115 degrees of freedom
Multiple R-squared:  0.167, Adjusted R-squared:  0.04386 
F-statistic: 1.356 on 17 and 115 DF,  p-value: 0.1718

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_plasma_olink_rank ' with ' Eotaxin1_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_plasma_olink_rank 
Trait/outcome.............: Eotaxin1_rank 
Effect size...............: 0.1325 
Standard error............: 0.086157 
Odds ratio (effect size)..: 1.142 
Lower 95% CI..............: 0.964 
Upper 95% CI..............: 1.352 
T-value...................: 1.537887 
P-value...................: 0.1268232 
R^2.......................: 0.166997 
Adjusted r^2..............: 0.043858 
Sample size of AE DB......: 2423 
Sample size of model......: 133 
Missing data %............: 94.51094 

- processing TARC_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ GFR_MDRD, data = currentDF)

Coefficients:
(Intercept)     GFR_MDRD  
    1.29244     -0.01728  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-2.01077 -0.53628 -0.07451  0.52252  2.57954 

Coefficients:
                            Estimate Std. Error t value Pr(>|t|)  
(Intercept)               -3.348e+02  1.883e+02  -1.778   0.0786 .
currentDF[, TRAIT]         2.216e-01  1.096e-01   2.022   0.0460 *
Age                        8.500e-03  1.158e-02   0.734   0.4649  
Gendermale                 1.338e-01  2.053e-01   0.652   0.5162  
ORdate_year                1.683e-01  9.386e-02   1.793   0.0762 .
Hypertension.compositeyes  1.109e-01  2.370e-01   0.468   0.6409  
DiabetesStatusDiabetes     3.255e-01  2.289e-01   1.422   0.1585  
SmokerStatusEx-smoker     -1.371e-01  1.982e-01  -0.692   0.4909  
SmokerStatusNever smoked   2.003e-01  3.208e-01   0.624   0.5340  
Med.Statin.LLDyes         -2.819e-01  2.141e-01  -1.317   0.1912  
Med.all.antiplateletyes   -5.184e-01  3.171e-01  -1.635   0.1055  
GFR_MDRD                  -1.357e-02  5.778e-03  -2.349   0.0209 *
BMI                        8.264e-03  2.178e-02   0.379   0.7052  
MedHx_CVDyes              -3.923e-02  1.985e-01  -0.198   0.8437  
stenose50-70%             -4.633e-01  1.302e+00  -0.356   0.7228  
stenose70-90%             -1.514e+00  9.274e-01  -1.632   0.1059  
stenose90-99%             -1.806e+00  9.263e-01  -1.950   0.0542 .
stenose100% (Occlusion)   -1.254e+00  1.272e+00  -0.986   0.3265  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.895 on 94 degrees of freedom
Multiple R-squared:  0.2243,    Adjusted R-squared:  0.084 
F-statistic: 1.599 on 17 and 94 DF,  p-value: 0.07993

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_plasma_olink_rank ' with ' TARC_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_plasma_olink_rank 
Trait/outcome.............: TARC_rank 
Effect size...............: 0.221603 
Standard error............: 0.1096 
Odds ratio (effect size)..: 1.248 
Lower 95% CI..............: 1.007 
Upper 95% CI..............: 1.547 
T-value...................: 2.021922 
P-value...................: 0.04602685 
R^2.......................: 0.224292 
Adjusted r^2..............: 0.084005 
Sample size of AE DB......: 2423 
Sample size of model......: 112 
Missing data %............: 95.37763 

- processing PARC_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ GFR_MDRD, data = currentDF)

Coefficients:
(Intercept)     GFR_MDRD  
     1.3108      -0.0174  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-2.0766 -0.5929  0.0000  0.5928  2.7296 

Coefficients:
                            Estimate Std. Error t value Pr(>|t|)   
(Intercept)               -12.219715 160.041389  -0.076  0.93927   
currentDF[, TRAIT]         -0.054175   0.093720  -0.578  0.56436   
Age                        -0.000214   0.011018  -0.019  0.98454   
Gendermale                  0.111279   0.188684   0.590  0.55651   
ORdate_year                 0.007300   0.079690   0.092  0.92717   
Hypertension.compositeyes   0.119400   0.212466   0.562  0.57523   
DiabetesStatusDiabetes      0.159313   0.208031   0.766  0.44535   
SmokerStatusEx-smoker       0.015460   0.188622   0.082  0.93482   
SmokerStatusNever smoked    0.220050   0.324431   0.678  0.49897   
Med.Statin.LLDyes          -0.049103   0.191065  -0.257  0.79764   
Med.all.antiplateletyes    -0.195248   0.303256  -0.644  0.52096   
GFR_MDRD                   -0.016559   0.005426  -3.052  0.00283 **
BMI                         0.007329   0.021128   0.347  0.72929   
MedHx_CVDyes                0.072757   0.183706   0.396  0.69280   
stenose50-70%              -1.446487   1.186418  -1.219  0.22526   
stenose70-90%              -1.272757   0.957191  -1.330  0.18626   
stenose90-99%              -1.477942   0.952394  -1.552  0.12345   
stenose100% (Occlusion)    -1.367703   1.326456  -1.031  0.30466   
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9255 on 115 degrees of freedom
Multiple R-squared:  0.1523,    Adjusted R-squared:  0.02702 
F-statistic: 1.216 on 17 and 115 DF,  p-value: 0.2636

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_plasma_olink_rank ' with ' PARC_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_plasma_olink_rank 
Trait/outcome.............: PARC_rank 
Effect size...............: -0.054175 
Standard error............: 0.09372 
Odds ratio (effect size)..: 0.947 
Lower 95% CI..............: 0.788 
Upper 95% CI..............: 1.138 
T-value...................: -0.578049 
P-value...................: 0.5643615 
R^2.......................: 0.152329 
Adjusted r^2..............: 0.027021 
Sample size of AE DB......: 2423 
Sample size of model......: 133 
Missing data %............: 94.51094 

- processing MDC_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ GFR_MDRD, data = currentDF)

Coefficients:
(Intercept)     GFR_MDRD  
    1.18161     -0.01529  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-2.12789 -0.55897 -0.03942  0.61288  2.49192 

Coefficients:
                            Estimate Std. Error t value Pr(>|t|)  
(Intercept)               -1.048e+02  1.683e+02  -0.623   0.5349  
currentDF[, TRAIT]         7.352e-02  1.017e-01   0.723   0.4714  
Age                        3.105e-03  1.148e-02   0.270   0.7874  
Gendermale                 9.349e-02  1.996e-01   0.468   0.6404  
ORdate_year                5.353e-02  8.388e-02   0.638   0.5248  
Hypertension.compositeyes  1.681e-01  2.239e-01   0.751   0.4546  
DiabetesStatusDiabetes     3.106e-01  2.225e-01   1.396   0.1657  
SmokerStatusEx-smoker     -1.115e-02  2.035e-01  -0.055   0.9564  
SmokerStatusNever smoked   1.589e-01  3.307e-01   0.481   0.6319  
Med.Statin.LLDyes         -1.512e-01  2.074e-01  -0.729   0.4677  
Med.all.antiplateletyes   -4.767e-01  3.957e-01  -1.205   0.2311  
GFR_MDRD                  -1.291e-02  5.563e-03  -2.322   0.0222 *
BMI                        2.869e-03  2.205e-02   0.130   0.8967  
MedHx_CVDyes               2.948e-02  1.971e-01   0.150   0.8814  
stenose50-70%             -4.950e-01  1.347e+00  -0.367   0.7141  
stenose70-90%             -1.350e+00  9.582e-01  -1.408   0.1620  
stenose90-99%             -1.581e+00  9.609e-01  -1.645   0.1031  
stenose100% (Occlusion)   -1.214e+00  1.318e+00  -0.922   0.3588  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9274 on 102 degrees of freedom
Multiple R-squared:   0.16, Adjusted R-squared:  0.02002 
F-statistic: 1.143 on 17 and 102 DF,  p-value: 0.3253

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_plasma_olink_rank ' with ' MDC_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_plasma_olink_rank 
Trait/outcome.............: MDC_rank 
Effect size...............: 0.07352 
Standard error............: 0.101703 
Odds ratio (effect size)..: 1.076 
Lower 95% CI..............: 0.882 
Upper 95% CI..............: 1.314 
T-value...................: 0.722883 
P-value...................: 0.4714058 
R^2.......................: 0.160016 
Adjusted r^2..............: 0.020019 
Sample size of AE DB......: 2423 
Sample size of model......: 120 
Missing data %............: 95.04746 

- processing OPG_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ GFR_MDRD, data = currentDF)

Coefficients:
(Intercept)     GFR_MDRD  
     1.3108      -0.0174  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-2.0653 -0.6138  0.0000  0.5588  2.6819 

Coefficients:
                            Estimate Std. Error t value Pr(>|t|)   
(Intercept)               -41.474894 151.733084  -0.273  0.78508   
currentDF[, TRAIT]         -0.036324   0.089436  -0.406  0.68539   
Age                        -0.000211   0.011038  -0.019  0.98478   
Gendermale                  0.120235   0.189788   0.634  0.52765   
ORdate_year                 0.021820   0.075574   0.289  0.77331   
Hypertension.compositeyes   0.112682   0.214110   0.526  0.59971   
DiabetesStatusDiabetes      0.152580   0.208345   0.732  0.46545   
SmokerStatusEx-smoker       0.024301   0.190528   0.128  0.89873   
SmokerStatusNever smoked    0.216920   0.324638   0.668  0.50535   
Med.Statin.LLDyes          -0.040460   0.193218  -0.209  0.83451   
Med.all.antiplateletyes    -0.167795   0.303639  -0.553  0.58160   
GFR_MDRD                   -0.016279   0.005401  -3.014  0.00317 **
BMI                         0.008167   0.021167   0.386  0.70035   
MedHx_CVDyes                0.065790   0.183586   0.358  0.72073   
stenose50-70%              -1.319987   1.169432  -1.129  0.26136   
stenose70-90%              -1.199401   0.951309  -1.261  0.20994   
stenose90-99%              -1.397559   0.948631  -1.473  0.14342   
stenose100% (Occlusion)    -1.317869   1.321916  -0.997  0.32089   
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9262 on 115 degrees of freedom
Multiple R-squared:  0.1511,    Adjusted R-squared:  0.02559 
F-statistic: 1.204 on 17 and 115 DF,  p-value: 0.2726

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_plasma_olink_rank ' with ' OPG_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_plasma_olink_rank 
Trait/outcome.............: OPG_rank 
Effect size...............: -0.036324 
Standard error............: 0.089436 
Odds ratio (effect size)..: 0.964 
Lower 95% CI..............: 0.809 
Upper 95% CI..............: 1.149 
T-value...................: -0.406143 
P-value...................: 0.6853919 
R^2.......................: 0.151083 
Adjusted r^2..............: 0.025591 
Sample size of AE DB......: 2423 
Sample size of model......: 133 
Missing data %............: 94.51094 

- processing sICAM1_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ GFR_MDRD, data = currentDF)

Coefficients:
(Intercept)     GFR_MDRD  
     1.3108      -0.0174  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-2.1631 -0.5599  0.0000  0.5902  2.6879 

Coefficients:
                            Estimate Std. Error t value Pr(>|t|)   
(Intercept)               -7.052e+01  1.626e+02  -0.434  0.66532   
currentDF[, TRAIT]         4.427e-02  9.040e-02   0.490  0.62528   
Age                        4.816e-04  1.104e-02   0.044  0.96528   
Gendermale                 1.110e-01  1.888e-01   0.588  0.55751   
ORdate_year                3.630e-02  8.099e-02   0.448  0.65482   
Hypertension.compositeyes  1.382e-01  2.146e-01   0.644  0.52083   
DiabetesStatusDiabetes     1.455e-01  2.093e-01   0.695  0.48825   
SmokerStatusEx-smoker      1.552e-02  1.887e-01   0.082  0.93459   
SmokerStatusNever smoked   1.962e-01  3.254e-01   0.603  0.54770   
Med.Statin.LLDyes         -4.603e-02  1.915e-01  -0.240  0.81043   
Med.all.antiplateletyes   -1.801e-01  3.022e-01  -0.596  0.55242   
GFR_MDRD                  -1.624e-02  5.397e-03  -3.009  0.00322 **
BMI                        7.161e-03  2.115e-02   0.339  0.73559   
MedHx_CVDyes               6.164e-02  1.838e-01   0.335  0.73798   
stenose50-70%             -1.299e+00  1.170e+00  -1.110  0.26932   
stenose70-90%             -1.175e+00  9.531e-01  -1.233  0.22020   
stenose90-99%             -1.401e+00  9.476e-01  -1.479  0.14200   
stenose100% (Occlusion)   -1.168e+00  1.329e+00  -0.879  0.38126   
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9259 on 115 degrees of freedom
Multiple R-squared:  0.1516,    Adjusted R-squared:  0.02622 
F-statistic: 1.209 on 17 and 115 DF,  p-value: 0.2686

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_plasma_olink_rank ' with ' sICAM1_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_plasma_olink_rank 
Trait/outcome.............: sICAM1_rank 
Effect size...............: 0.04427 
Standard error............: 0.090403 
Odds ratio (effect size)..: 1.045 
Lower 95% CI..............: 0.876 
Upper 95% CI..............: 1.248 
T-value...................: 0.489698 
P-value...................: 0.6252807 
R^2.......................: 0.151635 
Adjusted r^2..............: 0.026224 
Sample size of AE DB......: 2423 
Sample size of model......: 133 
Missing data %............: 94.51094 

- processing VEGFA_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + GFR_MDRD, 
    data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]            GFR_MDRD  
            1.2647              0.2080             -0.0177  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-1.8403 -0.4509  0.0000  0.4621  2.6384 

Coefficients:
                            Estimate Std. Error t value Pr(>|t|)   
(Intercept)                23.419451 174.943857   0.134  0.89380   
currentDF[, TRAIT]          0.201711   0.105106   1.919  0.05803 . 
Age                         0.001453   0.010872   0.134  0.89399   
Gendermale                  0.206263   0.184521   1.118  0.26652   
ORdate_year                -0.010405   0.087130  -0.119  0.90520   
Hypertension.compositeyes  -0.116137   0.215111  -0.540  0.59056   
DiabetesStatusDiabetes      0.228771   0.228607   1.001  0.31956   
SmokerStatusEx-smoker       0.011947   0.186047   0.064  0.94894   
SmokerStatusNever smoked    0.312174   0.318940   0.979  0.33023   
Med.Statin.LLDyes          -0.194011   0.186684  -1.039  0.30138   
Med.all.antiplateletyes    -0.193728   0.282931  -0.685  0.49522   
GFR_MDRD                   -0.015446   0.005512  -2.802  0.00618 **
BMI                        -0.003146   0.022608  -0.139  0.88962   
MedHx_CVDyes                0.147441   0.182151   0.809  0.42032   
stenose50-70%              -2.747210   1.272762  -2.158  0.03347 * 
stenose70-90%              -1.326175   0.872082  -1.521  0.13173   
stenose90-99%              -1.426869   0.867166  -1.645  0.10325   
stenose100% (Occlusion)    -1.104696   1.195239  -0.924  0.35775   
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.8395 on 93 degrees of freedom
Multiple R-squared:  0.2427,    Adjusted R-squared:  0.1042 
F-statistic: 1.753 on 17 and 93 DF,  p-value: 0.0467

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_plasma_olink_rank ' with ' VEGFA_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_plasma_olink_rank 
Trait/outcome.............: VEGFA_rank 
Effect size...............: 0.201711 
Standard error............: 0.105106 
Odds ratio (effect size)..: 1.223 
Lower 95% CI..............: 0.996 
Upper 95% CI..............: 1.503 
T-value...................: 1.919127 
P-value...................: 0.05803439 
R^2.......................: 0.242657 
Adjusted r^2..............: 0.104218 
Sample size of AE DB......: 2423 
Sample size of model......: 111 
Missing data %............: 95.4189 

- processing TGFB_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ GFR_MDRD, data = currentDF)

Coefficients:
(Intercept)     GFR_MDRD  
    1.41396     -0.01849  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
     Min       1Q   Median       3Q      Max 
-2.23889 -0.56309  0.00781  0.59604  2.68961 

Coefficients:
                            Estimate Std. Error t value Pr(>|t|)   
(Intercept)               -5.802e+01  1.563e+02  -0.371  0.71116   
currentDF[, TRAIT]         9.090e-02  9.466e-02   0.960  0.33896   
Age                        3.276e-05  1.097e-02   0.003  0.99762   
Gendermale                 1.356e-01  1.860e-01   0.729  0.46729   
ORdate_year                3.020e-02  7.785e-02   0.388  0.69882   
Hypertension.compositeyes  1.152e-01  2.111e-01   0.546  0.58641   
DiabetesStatusDiabetes     2.219e-01  2.093e-01   1.060  0.29130   
SmokerStatusEx-smoker      5.416e-02  1.915e-01   0.283  0.77787   
SmokerStatusNever smoked   2.598e-01  3.127e-01   0.831  0.40774   
Med.Statin.LLDyes         -4.989e-02  1.955e-01  -0.255  0.79908   
Med.all.antiplateletyes   -1.524e-01  3.213e-01  -0.474  0.63620   
GFR_MDRD                  -1.671e-02  5.316e-03  -3.143  0.00213 **
BMI                       -2.796e-03  2.203e-02  -0.127  0.89926   
MedHx_CVDyes               1.208e-01  1.847e-01   0.654  0.51447   
stenose50-70%             -1.511e+00  1.181e+00  -1.279  0.20343   
stenose70-90%             -1.232e+00  9.514e-01  -1.295  0.19787   
stenose90-99%             -1.395e+00  9.476e-01  -1.472  0.14378   
stenose100% (Occlusion)   -1.298e+00  1.312e+00  -0.990  0.32429   
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9238 on 113 degrees of freedom
Multiple R-squared:  0.1744,    Adjusted R-squared:  0.05023 
F-statistic: 1.404 on 17 and 113 DF,  p-value: 0.1474

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_plasma_olink_rank ' with ' TGFB_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_plasma_olink_rank 
Trait/outcome.............: TGFB_rank 
Effect size...............: 0.0909 
Standard error............: 0.094658 
Odds ratio (effect size)..: 1.095 
Lower 95% CI..............: 0.91 
Upper 95% CI..............: 1.318 
T-value...................: 0.960292 
P-value...................: 0.3389586 
R^2.......................: 0.174435 
Adjusted r^2..............: 0.050235 
Sample size of AE DB......: 2423 
Sample size of model......: 131 
Missing data %............: 94.59348 

- processing MMP2_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + GFR_MDRD + 
    BMI, data = currentDF)

Coefficients:
       (Intercept)  currentDF[, TRAIT]            GFR_MDRD                 BMI  
           0.27492            -0.15328            -0.01532             0.03403  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-1.9999 -0.5544  0.0000  0.5034  2.7511 

Coefficients:
                            Estimate Std. Error t value Pr(>|t|)   
(Intercept)                28.454232 161.165396   0.177  0.86018   
currentDF[, TRAIT]         -0.149763   0.082695  -1.811  0.07282 . 
Age                        -0.002187   0.011243  -0.194  0.84614   
Gendermale                  0.154033   0.193164   0.797  0.42690   
ORdate_year                -0.013234   0.080331  -0.165  0.86945   
Hypertension.compositeyes   0.088188   0.215056   0.410  0.68254   
DiabetesStatusDiabetes      0.131477   0.208788   0.630  0.53016   
SmokerStatusEx-smoker       0.075844   0.182735   0.415  0.67890   
SmokerStatusNever smoked    0.231602   0.317235   0.730  0.46687   
Med.Statin.LLDyes          -0.032684   0.185571  -0.176  0.86051   
Med.all.antiplateletyes    -0.176944   0.298748  -0.592  0.55485   
GFR_MDRD                   -0.015672   0.005737  -2.732  0.00732 **
BMI                         0.027723   0.022857   1.213  0.22773   
MedHx_CVDyes                0.042060   0.184946   0.227  0.82051   
stenose50-70%              -1.335448   1.148900  -1.162  0.24756   
stenose70-90%              -1.338098   0.935830  -1.430  0.15554   
stenose90-99%              -1.509530   0.930541  -1.622  0.10757   
stenose100% (Occlusion)    -1.365175   1.289160  -1.059  0.29189   
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.904 on 112 degrees of freedom
Multiple R-squared:  0.176, Adjusted R-squared:  0.05097 
F-statistic: 1.408 on 17 and 112 DF,  p-value: 0.1462

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_plasma_olink_rank ' with ' MMP2_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_plasma_olink_rank 
Trait/outcome.............: MMP2_rank 
Effect size...............: -0.149763 
Standard error............: 0.082695 
Odds ratio (effect size)..: 0.861 
Lower 95% CI..............: 0.732 
Upper 95% CI..............: 1.012 
T-value...................: -1.811027 
P-value...................: 0.07281704 
R^2.......................: 0.176032 
Adjusted r^2..............: 0.050965 
Sample size of AE DB......: 2423 
Sample size of model......: 130 
Missing data %............: 94.63475 

- processing MMP8_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ GFR_MDRD + BMI, data = currentDF)

Coefficients:
(Intercept)     GFR_MDRD          BMI  
    0.36372     -0.01534      0.03010  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-2.0852 -0.5559 -0.0176  0.5795  2.7252 

Coefficients:
                            Estimate Std. Error t value Pr(>|t|)  
(Intercept)               -22.331472 161.028220  -0.139   0.8900  
currentDF[, TRAIT]          0.040008   0.083853   0.477   0.6342  
Age                        -0.003218   0.011395  -0.282   0.7781  
Gendermale                  0.190333   0.199395   0.955   0.3419  
ORdate_year                 0.012086   0.080264   0.151   0.8806  
Hypertension.compositeyes   0.157863   0.214211   0.737   0.4627  
DiabetesStatusDiabetes      0.136818   0.211593   0.647   0.5192  
SmokerStatusEx-smoker       0.071535   0.185777   0.385   0.7009  
SmokerStatusNever smoked    0.205115   0.321411   0.638   0.5247  
Med.Statin.LLDyes          -0.036323   0.188425  -0.193   0.8475  
Med.all.antiplateletyes    -0.224292   0.301589  -0.744   0.4586  
GFR_MDRD                   -0.014862   0.005944  -2.500   0.0139 *
BMI                         0.024408   0.023444   1.041   0.3000  
MedHx_CVDyes                0.025986   0.187218   0.139   0.8899  
stenose50-70%              -1.275838   1.167208  -1.093   0.2767  
stenose70-90%              -1.237574   0.947403  -1.306   0.1941  
stenose90-99%              -1.374604   0.940238  -1.462   0.1465  
stenose100% (Occlusion)    -1.187487   1.302515  -0.912   0.3639  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9162 on 112 degrees of freedom
Multiple R-squared:  0.1536,    Adjusted R-squared:  0.02516 
F-statistic: 1.196 on 17 and 112 DF,  p-value: 0.2795

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_plasma_olink_rank ' with ' MMP8_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_plasma_olink_rank 
Trait/outcome.............: MMP8_rank 
Effect size...............: 0.040008 
Standard error............: 0.083853 
Odds ratio (effect size)..: 1.041 
Lower 95% CI..............: 0.883 
Upper 95% CI..............: 1.227 
T-value...................: 0.477117 
P-value...................: 0.6342087 
R^2.......................: 0.153623 
Adjusted r^2..............: 0.025155 
Sample size of AE DB......: 2423 
Sample size of model......: 130 
Missing data %............: 94.63475 

- processing MMP9_rank


Call:
lm(formula = currentDF[, PROTEIN] ~ GFR_MDRD + BMI, data = currentDF)

Coefficients:
(Intercept)     GFR_MDRD          BMI  
    0.36372     -0.01534      0.03010  


Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age + 
    Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF)

Residuals:
    Min      1Q  Median      3Q     Max 
-2.0569 -0.5931 -0.0049  0.6052  2.7163 

Coefficients:
                            Estimate Std. Error t value Pr(>|t|)   
(Intercept)                -8.724004 163.769977  -0.053  0.95761   
currentDF[, TRAIT]         -0.033284   0.081872  -0.407  0.68512   
Age                        -0.003267   0.011399  -0.287  0.77494   
Gendermale                  0.221144   0.193553   1.143  0.25566   
ORdate_year                 0.005268   0.081641   0.065  0.94866   
Hypertension.compositeyes   0.141059   0.219811   0.642  0.52236   
DiabetesStatusDiabetes      0.146607   0.212662   0.689  0.49200   
SmokerStatusEx-smoker       0.062595   0.185160   0.338  0.73595   
SmokerStatusNever smoked    0.216336   0.321813   0.672  0.50281   
Med.Statin.LLDyes          -0.043787   0.188084  -0.233  0.81634   
Med.all.antiplateletyes    -0.218739   0.302063  -0.724  0.47048   
GFR_MDRD                   -0.015595   0.005825  -2.677  0.00854 **
BMI                         0.027336   0.023332   1.172  0.24384   
MedHx_CVDyes                0.028606   0.187421   0.153  0.87896   
stenose50-70%              -1.273413   1.168578  -1.090  0.27818   
stenose70-90%              -1.222001   0.946437  -1.291  0.19931   
stenose90-99%              -1.351289   0.939181  -1.439  0.15300   
stenose100% (Occlusion)    -1.197217   1.304079  -0.918  0.36056   
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9164 on 112 degrees of freedom
Multiple R-squared:  0.1532,    Adjusted R-squared:  0.02461 
F-statistic: 1.191 on 17 and 112 DF,  p-value: 0.283

Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_plasma_olink_rank ' with ' MMP9_rank ' .
Collecting data.

We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA 
Score/Exposure/biomarker..: MCP1_plasma_olink_rank 
Trait/outcome.............: MMP9_rank 
Effect size...............: -0.033284 
Standard error............: 0.081872 
Odds ratio (effect size)..: 0.967 
Lower 95% CI..............: 0.824 
Upper 95% CI..............: 1.136 
T-value...................: -0.406537 
P-value...................: 0.6851242 
R^2.......................: 0.153152 
Adjusted r^2..............: 0.024613 
Sample size of AE DB......: 2423 
Sample size of model......: 130 
Missing data %............: 94.63475 
cat("Edit the column names...\n")
Edit the column names...
colnames(GLM.results) = c("Dataset", "Predictor", "Trait",
                          "Beta", "s.e.m.",
                          "OR", "low95CI", "up95CI",
                          "T-value", "P-value", "r^2", "r^2_adj", "AE_N", "Model_N", "Perc_Miss")

cat("Correct the variable types...\n")
Correct the variable types...
GLM.results$Beta <- as.numeric(GLM.results$Beta)
GLM.results$s.e.m. <- as.numeric(GLM.results$s.e.m.)
GLM.results$OR <- as.numeric(GLM.results$OR)
GLM.results$low95CI <- as.numeric(GLM.results$low95CI)
GLM.results$up95CI <- as.numeric(GLM.results$up95CI)
GLM.results$`T-value` <- as.numeric(GLM.results$`T-value`)
GLM.results$`P-value` <- as.numeric(GLM.results$`P-value`)
GLM.results$`r^2` <- as.numeric(GLM.results$`r^2`)
GLM.results$`r^2_adj` <- as.numeric(GLM.results$`r^2_adj`)
GLM.results$`AE_N` <- as.numeric(GLM.results$`AE_N`)
GLM.results$`Model_N` <- as.numeric(GLM.results$`Model_N`)
GLM.results$`Perc_Miss` <- as.numeric(GLM.results$`Perc_Miss`)
DT::datatable(GLM.results)

# Save the data
cat("Writing results to Excel-file...\n")
### Univariate
library(openxlsx)
write.xlsx(GLM.results,
           file = paste0(OUT_loc, "/",Today,".AEDB.CEA.Con.Multi.MCP1_Plaque.Cytokines_Plaques.RANK.MODEL2.xlsx"),
           row.names = FALSE, col.names = TRUE, sheetName = "Con.Multi.PlaquePheno")
# Removing intermediates
cat("Removing intermediate files...\n")
rm(TRAIT, trait, currentDF, GLM.results, GLM.results.TEMP, fit, model_step)

MCP1 levels vs. vulnerability index

Here we calculate the plaque instability/vulnerability index and visualize the MCP1 levels in plaque and plasma.

# Plaque vulnerability

table(AEDB.CEA$Macrophages.bin)

      no/minor moderate/heavy 
           847            992 
table(AEDB.CEA$Fat.bin_10)

 <10%  >10% 
  542  1316 
table(AEDB.CEA$Collagen.bin)

      no/minor moderate/heavy 
           382           1469 
table(AEDB.CEA$SMC.bin)

      no/minor moderate/heavy 
           602           1244 
table(AEDB.CEA$IPH.bin)

  no  yes 
 746 1108 
# SPSS code

# 
# *** syntax- Plaque vulnerability**.
# COMPUTE Macro_instab = -999.
# IF macrophages.bin=2 Macro_instab=1.
# IF macrophages.bin=1 Macro_instab=0.
# EXECUTE.
# 
# COMPUTE Fat10_instab = -999.
# IF Fat.bin_10=2 Fat10_instab=1.
# IF Fat.bin_10=1 Fat10_instab=0.
# EXECUTE.
# 
# COMPUTE coll_instab=-999.
# IF Collagen.bin=2 coll_instab=0.
# IF Collagen.bin=1 coll_instab=1.
# EXECUTE.
# 
# 
# COMPUTE SMC_instab=-999.
# IF SMC.bin=2 SMC_instab=0.
# IF SMC.bin=1 SMC_instab=1.
# EXECUTE.
# 
# COMPUTE IPH_instab=-999.
# IF IPH.bin=0 IPH_instab=0.
# IF IPH.bin=1 IPH_instab=1.
# EXECUTE.
# 
# COMPUTE Instability=Macro_instab + Fat10_instab +  coll_instab + SMC_instab + IPH_instab.
# EXECUTE.

# Fix plaquephenotypes
attach(AEDB.CEA)
The following objects are masked from AEDB.CEA (pos = 3):

    ABI_70, ABI_max, ABI_mean, ABI_min, ABI_OP, ablock, ablock2, ablock3, aceinhib, aceinhib2, acetylsa, Adiponectin_ng_ml_2015,
    Adiponectin_pg_ug_2015, AE_AAA_bijzonderheden, Age, Age_Q, AgeGroup, AgeGroupSex, AgeSQR, aid, AlcoholUse, Aldosteron_recode,
    alg10201, alg10202, alg10203, alg10204, alg10205, alg105, alg106, alg109, alg110, alg113, alg114, alg115, ALOX5, analg2, analg3,
    analgeti, Ang2, angioii, ANGPT2, anti_apoA1_IgG, anti_apoA1_index, anti_apoA1_na, antiall, antiall2, antiarrh, antiarrh2, ANXA2,
    AP_Dx, AP_Dx1, AP_Dx2, APOB, artercon, Artery_summary, arteryop, AsymptSympt, AsymptSympt2G, bblock, bblock2, blocko, blocksnr, BMI,
    BMI_US, BMI_WHO, BMI30ormore, BMIGroup, brain401, brain402, brain403, brain404, brain405, brain406, brain407, brain408, brain409,
    brain410, brain411, brain412, brain413, brn40701, bspoed, CAD_Dx, CAD_Dx1, CAD_Dx2, CAD_history, CADPAOD_history, Calc.bin,
    calcification, CalcificationPlaque, calcium, calcium2, calreg, carbasal, cardioembolic, Caspase3_7, CAV1, CD44, CD44V3, CEA_or_CAS,
    CEL, CFD_recalc, cholverl, cholverl2, cholverl3, CI_history, clau1, clau2, Claudication, clopidog, CML, COL_Instability, collagen,
    Collagen.bin, CollagenPlaque, combi1, combi2, combi3, comorbidity.DM, concablo, concablo2, concablo3, concace2, concacei, concacet,
    concalle, concanal, concanal2, concanal3, concangi, concanta2, concanti, concanti2, concbblo, concbblo2, conccalc, conccalc2,
    conccalreg, conccarb, concchol, concchol2, concchol3, concclau1, concclau2, concclop, conccom1, conccom2, conccom3, conccort,
    conccorthorm2, concderm, concdig, concdig2, concdig3, concdig4, concdipy, concdiur, concdiur2, concdiur3, concerec, conceye, concgluc,
    concgluc2, concgluc3, concgluc4, concgrel, concinsu, conciron, conciron2, concneur, concneur2, concneur3, concneur4, concnitr,
    concnitr2, concotant, concotcor, concoth2, concothe, concpros, concpsy5, concren, concresp, concrheu, concrheu2, concrheu3, concsta2,
    concstat, concthro, concthyr, concthyr2, concvit2, concvita, Contralateral_surgery, conwhen, corticos, cortihorm2, creat, crp_all,
    CRP_avg, CRP_dif, crp_source, CRP_var, CST3_pg_ug, CST3_serum_luminex, CTGF, cTNI_plasma, CTSA, CTSB, CTSL1, CTSS, cyr61,
    date_ic_patient, date_ic_researcher, Date.of.birth, date.previous.operation, date1yr, date3mon, dateapprox_latest, dateapprox_worst,
    dateapprox1, dateapprox2, dateapprox3, dateapprox4, dateend1, dateend2, dateend3, dateend4, dateend5, dateend6, dateexact_latest,
    dateexact_worst, dateexact1, dateexact2, dateexact3, dateexact4, dateok, dermacor, DiabetesStatus, diastoli, diet801, diet802,
    diet803, diet804, diet805, diet806, diet807, diet808, diet809, diet810, diet811, diet812, diet813, diet814, diet815, diet816, diet817,
    diet818, diet819, diet820, diet821, diet822, diet823, diet824, dipyridi, diuretic, diuretic2, diuretic3, DM, DM.composite,
    duaalantiplatelet, duplend, eaindexl, eaindexr, eCigarettes, edaplaqu_recalc, edavrspl, eGFRGroup, EGR, EMMPRIN_45kD, EMMPRIN_58kD,
    ENDOGLIN, endpoint1, endpoint2, endpoint3, endpoint4, endpoint5, endpoint6, Eotaxin1, Eotaxin1_rank, EP_CAD, ep_cad_t_30days,
    ep_cad_t_3years, EP_CAD_time, ep_cad.30days, EP_CI, ep_ci_t_30days, ep_ci_t_3years, EP_CI_time, ep_com_t_30days, ep_com_t_3years,
    EP_composite, EP_composite_time, EP_coronary, ep_coronary_t_30days, ep_coronary_t_3years, ep_coronary_t_90days, EP_coronary_time,
    EP_CVdeath, ep_cvdeath_t_30days, ep_cvdeath_t_3years, ep_cvdeath_t_90days, EP_CVdeath_time, EP_death, ep_death_t_30days,
    ep_death_t_3years, EP_death_time, EP_fatalCVA, ep_fatalCVA_t_30days, ep_fatalCVA_t_3years, EP_fatalCVA_time, EP_hemorrhagic_stroke,
    ep_hemorrhagic_stroke_t_3years, EP_hemorrhagic_stroke_time, ep_hemorrhagic_stroke.3years, EP_ischemic_stroke,
    ep_ischemic_stroke_t_3years, EP_ischemic_stroke_time, ep_ischemic_stroke.3years, EP_leg_amputation, EP_leg_amputation_time,
    ep_legamputation_t_30days, ep_legamputation_t_3years, EP_major, ep_major_t_30days, ep_major_t_3years, ep_major_t_90days,
    EP_major_time, EP_MI, ep_mi_t_30days, ep_mi_t_3years, EP_MI_time, EP_nonstroke_event, EP_nonstroke_event_time, ep_nonstroke_t_3years,
    EP_peripheral, ep_peripheral_t_30days, ep_peripheral_t_3years, EP_peripheral_time, EP_pta, ep_pta_t_30days, ep_pta_t_3years,
    EP_pta_time, EP_stroke, ep_stroke_t_30days, ep_stroke_t_3years, ep_stroke_t_90days, EP_stroke_time, EP_strokeCVdeath,
    ep_strokeCVdeath_t_30days, ep_strokeCVdeath_t_3years, EP_strokeCVdeath_time, EP_strokedeath, ep_strokedeath_t_30days,
    ep_strokedeath_t_3years, EP_strokedeath_time, ePackYearsSmoking, epcad.3years, epci.30days, epci.3years, epcom.30days, epcom.3years,
    epcoronary.30days, epcoronary.3years, epcoronary.90days, epcvdeath.30days, epcvdeath.3years, epcvdeath.90days, epdeath.30days,
    epdeath.3years, epfatalCVA.30days, epfatalCVA.3years, eplegamputation.30days, eplegamputation.3years, epmajor.30days, epmajor.3years,
    epmajor.90days, epmi.30days, epmi.3years, epnonstroke.3years, epperipheral.30days, epperipheral.3years, eppta.30days, eppta.3years,
    epstroke.30days, epstroke.3years, epstroke.90days, epstrokeCVdeath.30days, epstrokeCVdeath.3years, epstrokedeath.30days,
    epstrokedeath.3years, erec, Estradiol, everstroke_composite, Everstroke_Ipsilateral, exer901, exer902, exer903, exer904, exer905,
    exer906, exer9071, exer9072, exer9073, exer9074, exer9075, exer9076, exer908, exer909, exer910, eyedrop, EZis, FABP_serum, FABP4,
    FABP4_pg_ug, FABP4_serum_luminex, fat, Fat.bin_10, Fat.bin_40, FAT10_Instability, Fat10Perc, Femoral.interv, FH_AAA_broth,
    FH_AAA_comp, FH_AAA_mat, FH_AAA_parent, FH_AAA_pat, FH_AAA_sibling, FH_AAA_sis, FH_amp_broth, FH_amp_comp, FH_amp_mat, FH_amp_parent,
    FH_amp_pat, FH_amp_sibling, FH_amp_sis, FH_CAD_broth, FH_CAD_comp, FH_CAD_mat, FH_CAD_parent, FH_CAD_pat, FH_CAD_sibling, FH_CAD_sis,
    FH_corcalc_broth, FH_corcalc_comp, FH_corcalc_mat, FH_corcalc_parent, FH_corcalc_pat, FH_corcalc_sibling, FH_corcalc_sis,
    FH_CVD_broth, FH_CVD_comp, FH_CVD_mat, FH_CVD_parent, FH_CVD_pat, FH_CVD_sibling, FH_CVD_sis, FH_CVdeath_broth, FH_CVdeath_comp,
    FH_CVdeath_mat, FH_CVdeath_parent, FH_CVdeath_pat, FH_CVdeath_sibling, FH_CVdeath_sis, FH_DM_broth, FH_DM_comp, FH_DM_mat,
    FH_DM_parent, FH_DM_pat, FH_DM_sibling, FH_DM_sis, FH_HC_broth, FH_HC_comp, FH_HC_mat, FH_HC_parent, FH_HC_pat, FH_HC_sibling,
    FH_HC_sis, FH_HT_broth, FH_HT_comp, FH_HT_mat, FH_HT_parent, FH_HT_pat, FH_HT_sibling, FH_HT_sis, FH_MI_broth, FH_MI_comp, FH_MI_mat,
    FH_MI_parent, FH_MI_pat, FH_MI_sibling, FH_MI_sis, FH_otherCVD_broth, FH_otherCVD_comp, FH_otherCVD_mat, FH_otherCVD_parent,
    FH_otherCVD_pat, FH_otherCVD_sibling, FH_otherCVD_sis, FH_PAD_broth, FH_PAD_comp, FH_PAD_mat, FH_PAD_parent, FH_PAD_pat,
    FH_PAD_sibling, FH_PAD_sis, FH_PAV_broth, FH_PAV_comp, FH_PAV_mat, FH_PAV_parent, FH_PAV_pat, FH_PAV_sibling, FH_PAV_sis,
    FH_POB_broth, FH_POB_comp, FH_POB_mat, FH_POB_parent, FH_POB_pat, FH_POB_sibling, FH_POB_sis, FH_risk_broth, FH_risk_comp,
    FH_risk_mat, FH_risk_parent, FH_risk_pat, FH_risk_sibling, FH_risk_sis, FH_Stroke_broth, FH_Stroke_comp, FH_Stroke_mat,
    FH_Stroke_parent, FH_Stroke_pat, FH_Stroke_sibling, FH_Stroke_sis, FH_tromb_broth, FH_tromb_comp, FH_tromb_mat, FH_tromb_parent,
    FH_tromb_pat, FH_tromb_sibling, FH_tromb_sis, filter_$, folicaci, followup1, followup2, followup3, Fontaine, FU_check, FU_check_date,
    FU.cutt.off.30days, FU.cutt.off.3years, FU.cutt.off.90days, FU1JAAR, FU2JAAR, FU3JAAR, FURIN_low, FURIN_up, GDF15_plasma, geen_med,
    Gender, GFR_CG, GFR_MDRD, glucose, GR_Segment, GrB_plaque, GrB_serum, grel, GrK_plaque, GrK_serum, GrM_plaque, GrM_serum, HA, hb,
    HDAC9, HDL, HDL_2016, HDL_all, HDL_avg, HDL_clinic, HDL_dif, HDL_final, HDL_finalCU, hdl_source, HDL_var, heart300, heart301,
    heart302, heart303, heart304, heart305, heart306, heart307, heart308, heart309, heart310, heart311, heart312, heart313, heart314,
    heart315, heart316, heart317, heart318, heart319, heart320, heart321, heart322, heart323, heart324, heart325, heart326, heart327,
    heart328, HIF1A, ho1, homocys, Hospital, hrt31301, hsCRP_plasma, ht, HYAL55KD, HYALURON, Hypertension.composite, Hypertension.drugs,
    Hypertension.selfreport, Hypertension.selfreportdrug, Hypertension1, Hypertension2, IL1_Beta, IL10, IL10_rank, IL12, IL12_rank, IL13,
    IL13_rank, IL17, IL2, IL2_rank, IL21, IL21_rank, IL4, IL4_rank, IL5, IL5_rank, IL6, IL6_pg_ml_2015, IL6_pg_ug_2015, IL6_rank,
    IL6R_pg_ml_2015, IL6R_pg_ug_2015, IL8, IL8_pg_ml_2015, IL8_pg_ug_2015, IL8_rank, IL9, IL9_rank, indexsymptoms_latest,
    indexsymptoms_latest_4g, indexsymptoms_worst, indexsymptoms_worst_4g, INFG, INFG_rank, informedconsent, insulin, insuline, INVULDAT,
    IP10, IP10_rank, IPH, IPH_extended.bin, IPH_Instability, IPH.bin, ironfoli, ironfoli2, KDOQI, latest, LDL, LDL_2016, LDL_all, LDL_avg,
    LDL_clinic, LDL_dif, LDL_final, LDL_finalCU, ldl_source, LDL_var, LDLGroup, leg501, leg502, leg503, leg504, leg505, leg506, leg507,
    leg508, leg509, leg510, leg511, leg512, leg513, leg514, leg515, leg516, leg517, leg518, leg519, leg520, LMW1STME, LTB4, LTB4R,
    MAC_binned, MAC_grouped, MAC_Instability, macmean0, macrophages, Macrophages_LN, macrophages_location, Macrophages_rank,
    Macrophages.bin, MAP, Mast_cells_plaque, max.followup, MCP1, MCP1_LN, MCP1_pg_ml_2015, MCP1_pg_ml_2015_LN, MCP1_pg_ml_2015_rank,
    MCP1_pg_ug_2015, MCP1_pg_ug_2015_LN, MCP1_pg_ug_2015_rank, MCP1_plasma_olink, MCP1_plasma_olink_LN, MCP1_plasma_olink_rank,
    MCP1_plasma_olink_rankNorm, MCP1_rank, MCSF_pg_ml_2015, MCSF_pg_ug_2015, MDC, MDC_rank, Med_notes, Med.ablock, Med.ACE_inh,
    Med.acetylsal, Med.acetylsal_Combi1, Med.acetylsal_Combi2, Med.acetylsal_Combi3, Med.ADPinh, Med.all.antiplatelet, Med.angiot2.antag,
    Med.antiarrh, Med.anticoagulants, Med.ascal, Med.aspirin.derived, Med.bblocker, Med.calc_antag, Med.dipyridamole, Med.diuretic,
    Med.LLD, Med.nitrate, Med.otheranthyp, Med.renin, Med.statin, Med.statin.derived, Med.Statin.LLD, Med.statin2, MedHx_CVD, media,
    MG_H1, MI_Dx, MI_Dx1, MI_Dx2, MIF, MIF_rank, MIG, MIG_rank, MIP1a, MIP1a_rank, miRNA100_RNU19, miRNA100_RNU48, miRNA155_RNU19,
    miRNA155_RNU48, MMP14, MMP2, MMP2_rank, MMP2TIMP2, MMP8, MMP8_rank, MMP9, MMP9_rank, MMP9TIMP1, MPO_plasma, MRP_14, MRP_8, MRP_8_14C,
    MRP_8_14C_buhlmann, MRP14_plasma, MRP8_14C_plasma, MRP8_plasma, negatibl, neuropsy, neuropsy2, neuropsy3, neuropsy4, neurpsy5,
    neutrophils, NGAL, NGAL_low, NGAL_MMP9_complex, NGAL_MMP9_local, NGAL_MMP9_peripheral, NGAL_total, NGAL_up, nitrate, nitrate2, NOD1,
    NOD2, nogobt1_recalculated, NTproBNP_plasma, Number_Events_Sorter, Number_Sorted_CD14, Number_Sorted_CD20, Number_Sorted_CD4_Cells,
    Number_Sorted_CD8_Cells, oac701, oac702, oac70305, oac704, oac705, oac706, oac707, oac708, oac709, oac710, oac711, oac712, oac713,
    oac714, OKyear, OPG, OPG_plasma, OPG_rank, OPN, OPN_2013, OPN_plasma, OR_blood, Oral.glucose.inh, oralgluc, oralgluc2, oralgluc3,
    oralgluc4, ORdate_epoch, ORdate_year, ORyear, othanthyp, othcoron, other, other2, OverallPlaquePhenotype, PAI1_pg_ml_2015,
    PAI1_pg_ug_2015, PAOD, PARC, PARC_rank, patch, PCSK9_plasma, PDGF_BB_plasma, Percentage_CD14, Percentage_CD20, Percentage_CD4,
    Percentage_CD8, Peripheral.interv, PKC, PLA2_plasma, Plaque_Vulnerability_Index, plaquephenotype, PlateID_plasma_olink, positibl,
    PrimaryLast, PrimaryLast1, prostagl, PulsePressure, qual01, qual02, qual0301, qual0302, qual0303, qual0304, qual0305, qual0306,
    qual0307, qual0308, qual0309, qual0310, qual0401, qual0402, qual0403, qual0404, qual0501, qual0502, qual0503, qual06, qual07, qual08,
    qual0901, qual0902, qual0903, qual0904, qual0905, qual0906, qual0907, qual0908, qual0909, qual1010, qual1101, qual1102, qual1103,
    qual1104, RAAS_med, RANTES, RANTES_pg_ml_2015, RANTES_pg_ug_2015, RANTES_plasma, RANTES_rank, Ras, RE50_01, RE70_01, Renine_recode,
    renineinh, restenos, restenosisOK, rheuma, rheuma2, rheuma3, risk601, risk602, risk603, risk604, risk605, risk606, risk607, risk608,
    risk609, risk610, risk611, risk612, risk613, risk614, risk615, risk616, risk617, risk618, risk619, risk620, SBPGroup,
    Segment_isolated_Tris_2015, SHBG, sICAM1, sICAM1_rank, SMAD1_5_8, SMAD2, SMAD3, smc, SMC_binned, SMC_grouped, SMC_Instability, SMC_LN,
    smc_location, smc_macrophages_ratio, SMC_rank, SMC.bin, smcmean0, SmokerCurrent, SmokerStatus, SmokingReported, SmokingYearOR, stat3P,
    statin2, statines, ste3mext, sten1yr, sten3mo, stenose, stenosis_con_bin, Stenosis_contralateral, Stenosis_ipsilateral, StenoticGroup,
    Stroke_Dx, Stroke_eitherside, Stroke_history, Stroke_Symptoms, StrokeTIA_Dx, StrokeTIA_history, StrokeTIA_Symptoms, STUDY_NUMBER,
    sympt, Sympt_latest, Sympt_worst, sympt1, sympt2, sympt3, sympt4, Symptoms.3g, Symptoms.4g, Symptoms.5G, systolic, T_NUMBER, TARC,
    TARC_rank, TAT_plasma, TC_2016, TC_all, TC_avg, TC_clinic, TC_dif, TC_final, TC_finalCU, TC_var, Testosterone, TG_2016, TG_all,
    TG_avg, TG_clinic, TG_dif, TG_final, TG_finalCU, TG_var, TGF, TGFB, TGFB_rank, thrombos, thrombus, thrombus_location, thrombus_new,
    thrombus_organization, thrombus_organization_v2, thrombus_percentage, thyros2, thyrosta, Time_event_OR, TimeOR_latest,
    TimeOR_latest_4g, TimeOR_worst, TimeOR_worst_4g, TIMP1, TIMP2, TISNOW, TNFA, TNFA_rank, totalchol, totalcholesterol_source, tractdig,
    tractdig2, tractdig3, tractdig4, tractres, Treatment.DM, TREM1, triglyceride_source, triglyceriden, Tris_protein_conc_ug_ml_2015,
    Trop1, Trop1DT, Trop2, Trop2DT, Trop3, Trop3DT, TropmaxpostOK, TropoMax, TropoMaxDT, tropomaxpositief, TSratio_blood, TSratio_plaque,
    UPID, validation_date, validation1, validation2, validation3, validation4, validation5, validation6, VAR00001, VEGFA, VEGFA_plasma,
    VEGFA_rank, vegfa422, vessel_density, vessel_density_additional, vessel_density_averaged, vessel_density_Timo2012,
    vessel_density_Timo2012_2, vessel_density_Timo2013, VesselDensity_LN, VesselDensity_rank, vitamin, vitamin2, vitb12, VRAGENLIJST,
    vWF_plasma, WBC_THAW, Which.femoral.artery, Whichoperation, writtenIC, yearablo, yearablo2, yearablo3, yearace, yearace2, yearacet,
    yearanal, yearanal2, yearanal3, yearangi, yearanta, yearanta2, yearanti, yearanti2, yearbblo, yearbblo2, yearcalc, yearcalc2,
    yearcalreg, yearcarb, yearchol, yearchol2, yearchol3, yearclau1, yearclau2, yearclop, yearcom1, yearcom2, yearcom3, yearcort,
    yearcorthorm2, yearderm, yeardig, yeardig2, yeardig3, yeardig4, yeardipy, yeardiur, yeardiur2, yeardiur3, yearerec, yeareye, yeargluc,
    yeargluc2, yeargluc3, yeargluc4, yeargrel, yearinsu, yeariron, yeariron2, yearneur, yearneur2, yearneur3, yearneur4, yearnitr,
    yearnitr2, yearOR_bin_2010, YearOR_per2years, yearotant, yearotcor, yearoth2, yearothe, yearpros, yearpsy5, yearren, yearresp,
    yearrheu, yearrheu2, yearrheu3, yearsta2, yearstat, yearthro, yearthyr, yearthyr2, yearvit2, yearvita, Yrs.no.smoking, Yrs.smoking
# mac instability
AEDB.CEA[,"MAC_Instability"] <- NA
AEDB.CEA$MAC_Instability[Macrophages.bin == -999] <- NA
AEDB.CEA$MAC_Instability[Macrophages.bin == "no/minor"] <- 0
AEDB.CEA$MAC_Instability[Macrophages.bin == "moderate/heavy"] <- 1

# fat instability
AEDB.CEA[,"FAT10_Instability"] <- NA
AEDB.CEA$FAT10_Instability[Fat.bin_10 == -999] <- NA
AEDB.CEA$FAT10_Instability[Fat.bin_10 == " <10%"] <- 0
AEDB.CEA$FAT10_Instability[Fat.bin_10 == " >10%"] <- 1

# col instability 
AEDB.CEA[,"COL_Instability"] <- NA
AEDB.CEA$COL_Instability[Collagen.bin == -999] <- NA
AEDB.CEA$COL_Instability[Collagen.bin == "no/minor"] <- 1
AEDB.CEA$COL_Instability[Collagen.bin == "moderate/heavy"] <- 0

# smc instability
AEDB.CEA[,"SMC_Instability"] <- NA
AEDB.CEA$SMC_Instability[SMC.bin == -999] <- NA
AEDB.CEA$SMC_Instability[SMC.bin == "no/minor"] <- 1
AEDB.CEA$SMC_Instability[SMC.bin == "moderate/heavy"] <- 0

# iph instability
AEDB.CEA[,"IPH_Instability"] <- NA
AEDB.CEA$IPH_Instability[IPH.bin == -999] <- NA
AEDB.CEA$IPH_Instability[IPH.bin == "no"] <- 0
AEDB.CEA$IPH_Instability[IPH.bin == "yes"] <- 1

detach(AEDB.CEA)

table(AEDB.CEA$MAC_Instability, useNA = "ifany")

   0    1 <NA> 
 847  992  584 
table(AEDB.CEA$FAT10_Instability, useNA = "ifany")

   0    1 <NA> 
 542 1316  565 
table(AEDB.CEA$COL_Instability, useNA = "ifany")

   0    1 <NA> 
1469  382  572 
table(AEDB.CEA$SMC_Instability, useNA = "ifany")

   0    1 <NA> 
1244  602  577 
table(AEDB.CEA$IPH_Instability, useNA = "ifany")

   0    1 <NA> 
 746 1108  569 
# creating vulnerability index
AEDB.CEA <- AEDB.CEA %>% mutate(Plaque_Vulnerability_Index = factor(rowSums(.[grep("_Instability", names(.))], na.rm = TRUE)),
                                )

table(AEDB.CEA$Plaque_Vulnerability_Index, useNA = "ifany")

  0   1   2   3   4   5 
713 348 479 535 251  97 
# str(AEDB.CEA$Plaque_Vulnerability_Index)

Here we plot the levels of inverse-rank normal transformed MCP1 plaque levels from experiment 1 and 2 to the Plaque vulnerability index.

library(sjlabelled)

attach(AEDB.CEA)
The following objects are masked from AEDB.CEA (pos = 3):

    ABI_70, ABI_max, ABI_mean, ABI_min, ABI_OP, ablock, ablock2, ablock3, aceinhib, aceinhib2, acetylsa, Adiponectin_ng_ml_2015,
    Adiponectin_pg_ug_2015, AE_AAA_bijzonderheden, Age, Age_Q, AgeGroup, AgeGroupSex, AgeSQR, aid, AlcoholUse, Aldosteron_recode,
    alg10201, alg10202, alg10203, alg10204, alg10205, alg105, alg106, alg109, alg110, alg113, alg114, alg115, ALOX5, analg2, analg3,
    analgeti, Ang2, angioii, ANGPT2, anti_apoA1_IgG, anti_apoA1_index, anti_apoA1_na, antiall, antiall2, antiarrh, antiarrh2, ANXA2,
    AP_Dx, AP_Dx1, AP_Dx2, APOB, artercon, Artery_summary, arteryop, AsymptSympt, AsymptSympt2G, bblock, bblock2, blocko, blocksnr, BMI,
    BMI_US, BMI_WHO, BMI30ormore, BMIGroup, brain401, brain402, brain403, brain404, brain405, brain406, brain407, brain408, brain409,
    brain410, brain411, brain412, brain413, brn40701, bspoed, CAD_Dx, CAD_Dx1, CAD_Dx2, CAD_history, CADPAOD_history, Calc.bin,
    calcification, CalcificationPlaque, calcium, calcium2, calreg, carbasal, cardioembolic, Caspase3_7, CAV1, CD44, CD44V3, CEA_or_CAS,
    CEL, CFD_recalc, cholverl, cholverl2, cholverl3, CI_history, clau1, clau2, Claudication, clopidog, CML, COL_Instability, collagen,
    Collagen.bin, CollagenPlaque, combi1, combi2, combi3, comorbidity.DM, concablo, concablo2, concablo3, concace2, concacei, concacet,
    concalle, concanal, concanal2, concanal3, concangi, concanta2, concanti, concanti2, concbblo, concbblo2, conccalc, conccalc2,
    conccalreg, conccarb, concchol, concchol2, concchol3, concclau1, concclau2, concclop, conccom1, conccom2, conccom3, conccort,
    conccorthorm2, concderm, concdig, concdig2, concdig3, concdig4, concdipy, concdiur, concdiur2, concdiur3, concerec, conceye, concgluc,
    concgluc2, concgluc3, concgluc4, concgrel, concinsu, conciron, conciron2, concneur, concneur2, concneur3, concneur4, concnitr,
    concnitr2, concotant, concotcor, concoth2, concothe, concpros, concpsy5, concren, concresp, concrheu, concrheu2, concrheu3, concsta2,
    concstat, concthro, concthyr, concthyr2, concvit2, concvita, Contralateral_surgery, conwhen, corticos, cortihorm2, creat, crp_all,
    CRP_avg, CRP_dif, crp_source, CRP_var, CST3_pg_ug, CST3_serum_luminex, CTGF, cTNI_plasma, CTSA, CTSB, CTSL1, CTSS, cyr61,
    date_ic_patient, date_ic_researcher, Date.of.birth, date.previous.operation, date1yr, date3mon, dateapprox_latest, dateapprox_worst,
    dateapprox1, dateapprox2, dateapprox3, dateapprox4, dateend1, dateend2, dateend3, dateend4, dateend5, dateend6, dateexact_latest,
    dateexact_worst, dateexact1, dateexact2, dateexact3, dateexact4, dateok, dermacor, DiabetesStatus, diastoli, diet801, diet802,
    diet803, diet804, diet805, diet806, diet807, diet808, diet809, diet810, diet811, diet812, diet813, diet814, diet815, diet816, diet817,
    diet818, diet819, diet820, diet821, diet822, diet823, diet824, dipyridi, diuretic, diuretic2, diuretic3, DM, DM.composite,
    duaalantiplatelet, duplend, eaindexl, eaindexr, eCigarettes, edaplaqu_recalc, edavrspl, eGFRGroup, EGR, EMMPRIN_45kD, EMMPRIN_58kD,
    ENDOGLIN, endpoint1, endpoint2, endpoint3, endpoint4, endpoint5, endpoint6, Eotaxin1, Eotaxin1_rank, EP_CAD, ep_cad_t_30days,
    ep_cad_t_3years, EP_CAD_time, ep_cad.30days, EP_CI, ep_ci_t_30days, ep_ci_t_3years, EP_CI_time, ep_com_t_30days, ep_com_t_3years,
    EP_composite, EP_composite_time, EP_coronary, ep_coronary_t_30days, ep_coronary_t_3years, ep_coronary_t_90days, EP_coronary_time,
    EP_CVdeath, ep_cvdeath_t_30days, ep_cvdeath_t_3years, ep_cvdeath_t_90days, EP_CVdeath_time, EP_death, ep_death_t_30days,
    ep_death_t_3years, EP_death_time, EP_fatalCVA, ep_fatalCVA_t_30days, ep_fatalCVA_t_3years, EP_fatalCVA_time, EP_hemorrhagic_stroke,
    ep_hemorrhagic_stroke_t_3years, EP_hemorrhagic_stroke_time, ep_hemorrhagic_stroke.3years, EP_ischemic_stroke,
    ep_ischemic_stroke_t_3years, EP_ischemic_stroke_time, ep_ischemic_stroke.3years, EP_leg_amputation, EP_leg_amputation_time,
    ep_legamputation_t_30days, ep_legamputation_t_3years, EP_major, ep_major_t_30days, ep_major_t_3years, ep_major_t_90days,
    EP_major_time, EP_MI, ep_mi_t_30days, ep_mi_t_3years, EP_MI_time, EP_nonstroke_event, EP_nonstroke_event_time, ep_nonstroke_t_3years,
    EP_peripheral, ep_peripheral_t_30days, ep_peripheral_t_3years, EP_peripheral_time, EP_pta, ep_pta_t_30days, ep_pta_t_3years,
    EP_pta_time, EP_stroke, ep_stroke_t_30days, ep_stroke_t_3years, ep_stroke_t_90days, EP_stroke_time, EP_strokeCVdeath,
    ep_strokeCVdeath_t_30days, ep_strokeCVdeath_t_3years, EP_strokeCVdeath_time, EP_strokedeath, ep_strokedeath_t_30days,
    ep_strokedeath_t_3years, EP_strokedeath_time, ePackYearsSmoking, epcad.3years, epci.30days, epci.3years, epcom.30days, epcom.3years,
    epcoronary.30days, epcoronary.3years, epcoronary.90days, epcvdeath.30days, epcvdeath.3years, epcvdeath.90days, epdeath.30days,
    epdeath.3years, epfatalCVA.30days, epfatalCVA.3years, eplegamputation.30days, eplegamputation.3years, epmajor.30days, epmajor.3years,
    epmajor.90days, epmi.30days, epmi.3years, epnonstroke.3years, epperipheral.30days, epperipheral.3years, eppta.30days, eppta.3years,
    epstroke.30days, epstroke.3years, epstroke.90days, epstrokeCVdeath.30days, epstrokeCVdeath.3years, epstrokedeath.30days,
    epstrokedeath.3years, erec, Estradiol, everstroke_composite, Everstroke_Ipsilateral, exer901, exer902, exer903, exer904, exer905,
    exer906, exer9071, exer9072, exer9073, exer9074, exer9075, exer9076, exer908, exer909, exer910, eyedrop, EZis, FABP_serum, FABP4,
    FABP4_pg_ug, FABP4_serum_luminex, fat, Fat.bin_10, Fat.bin_40, FAT10_Instability, Fat10Perc, Femoral.interv, FH_AAA_broth,
    FH_AAA_comp, FH_AAA_mat, FH_AAA_parent, FH_AAA_pat, FH_AAA_sibling, FH_AAA_sis, FH_amp_broth, FH_amp_comp, FH_amp_mat, FH_amp_parent,
    FH_amp_pat, FH_amp_sibling, FH_amp_sis, FH_CAD_broth, FH_CAD_comp, FH_CAD_mat, FH_CAD_parent, FH_CAD_pat, FH_CAD_sibling, FH_CAD_sis,
    FH_corcalc_broth, FH_corcalc_comp, FH_corcalc_mat, FH_corcalc_parent, FH_corcalc_pat, FH_corcalc_sibling, FH_corcalc_sis,
    FH_CVD_broth, FH_CVD_comp, FH_CVD_mat, FH_CVD_parent, FH_CVD_pat, FH_CVD_sibling, FH_CVD_sis, FH_CVdeath_broth, FH_CVdeath_comp,
    FH_CVdeath_mat, FH_CVdeath_parent, FH_CVdeath_pat, FH_CVdeath_sibling, FH_CVdeath_sis, FH_DM_broth, FH_DM_comp, FH_DM_mat,
    FH_DM_parent, FH_DM_pat, FH_DM_sibling, FH_DM_sis, FH_HC_broth, FH_HC_comp, FH_HC_mat, FH_HC_parent, FH_HC_pat, FH_HC_sibling,
    FH_HC_sis, FH_HT_broth, FH_HT_comp, FH_HT_mat, FH_HT_parent, FH_HT_pat, FH_HT_sibling, FH_HT_sis, FH_MI_broth, FH_MI_comp, FH_MI_mat,
    FH_MI_parent, FH_MI_pat, FH_MI_sibling, FH_MI_sis, FH_otherCVD_broth, FH_otherCVD_comp, FH_otherCVD_mat, FH_otherCVD_parent,
    FH_otherCVD_pat, FH_otherCVD_sibling, FH_otherCVD_sis, FH_PAD_broth, FH_PAD_comp, FH_PAD_mat, FH_PAD_parent, FH_PAD_pat,
    FH_PAD_sibling, FH_PAD_sis, FH_PAV_broth, FH_PAV_comp, FH_PAV_mat, FH_PAV_parent, FH_PAV_pat, FH_PAV_sibling, FH_PAV_sis,
    FH_POB_broth, FH_POB_comp, FH_POB_mat, FH_POB_parent, FH_POB_pat, FH_POB_sibling, FH_POB_sis, FH_risk_broth, FH_risk_comp,
    FH_risk_mat, FH_risk_parent, FH_risk_pat, FH_risk_sibling, FH_risk_sis, FH_Stroke_broth, FH_Stroke_comp, FH_Stroke_mat,
    FH_Stroke_parent, FH_Stroke_pat, FH_Stroke_sibling, FH_Stroke_sis, FH_tromb_broth, FH_tromb_comp, FH_tromb_mat, FH_tromb_parent,
    FH_tromb_pat, FH_tromb_sibling, FH_tromb_sis, filter_$, folicaci, followup1, followup2, followup3, Fontaine, FU_check, FU_check_date,
    FU.cutt.off.30days, FU.cutt.off.3years, FU.cutt.off.90days, FU1JAAR, FU2JAAR, FU3JAAR, FURIN_low, FURIN_up, GDF15_plasma, geen_med,
    Gender, GFR_CG, GFR_MDRD, glucose, GR_Segment, GrB_plaque, GrB_serum, grel, GrK_plaque, GrK_serum, GrM_plaque, GrM_serum, HA, hb,
    HDAC9, HDL, HDL_2016, HDL_all, HDL_avg, HDL_clinic, HDL_dif, HDL_final, HDL_finalCU, hdl_source, HDL_var, heart300, heart301,
    heart302, heart303, heart304, heart305, heart306, heart307, heart308, heart309, heart310, heart311, heart312, heart313, heart314,
    heart315, heart316, heart317, heart318, heart319, heart320, heart321, heart322, heart323, heart324, heart325, heart326, heart327,
    heart328, HIF1A, ho1, homocys, Hospital, hrt31301, hsCRP_plasma, ht, HYAL55KD, HYALURON, Hypertension.composite, Hypertension.drugs,
    Hypertension.selfreport, Hypertension.selfreportdrug, Hypertension1, Hypertension2, IL1_Beta, IL10, IL10_rank, IL12, IL12_rank, IL13,
    IL13_rank, IL17, IL2, IL2_rank, IL21, IL21_rank, IL4, IL4_rank, IL5, IL5_rank, IL6, IL6_pg_ml_2015, IL6_pg_ug_2015, IL6_rank,
    IL6R_pg_ml_2015, IL6R_pg_ug_2015, IL8, IL8_pg_ml_2015, IL8_pg_ug_2015, IL8_rank, IL9, IL9_rank, indexsymptoms_latest,
    indexsymptoms_latest_4g, indexsymptoms_worst, indexsymptoms_worst_4g, INFG, INFG_rank, informedconsent, insulin, insuline, INVULDAT,
    IP10, IP10_rank, IPH, IPH_extended.bin, IPH_Instability, IPH.bin, ironfoli, ironfoli2, KDOQI, latest, LDL, LDL_2016, LDL_all, LDL_avg,
    LDL_clinic, LDL_dif, LDL_final, LDL_finalCU, ldl_source, LDL_var, LDLGroup, leg501, leg502, leg503, leg504, leg505, leg506, leg507,
    leg508, leg509, leg510, leg511, leg512, leg513, leg514, leg515, leg516, leg517, leg518, leg519, leg520, LMW1STME, LTB4, LTB4R,
    MAC_binned, MAC_grouped, MAC_Instability, macmean0, macrophages, Macrophages_LN, macrophages_location, Macrophages_rank,
    Macrophages.bin, MAP, Mast_cells_plaque, max.followup, MCP1, MCP1_LN, MCP1_pg_ml_2015, MCP1_pg_ml_2015_LN, MCP1_pg_ml_2015_rank,
    MCP1_pg_ug_2015, MCP1_pg_ug_2015_LN, MCP1_pg_ug_2015_rank, MCP1_plasma_olink, MCP1_plasma_olink_LN, MCP1_plasma_olink_rank,
    MCP1_plasma_olink_rankNorm, MCP1_rank, MCSF_pg_ml_2015, MCSF_pg_ug_2015, MDC, MDC_rank, Med_notes, Med.ablock, Med.ACE_inh,
    Med.acetylsal, Med.acetylsal_Combi1, Med.acetylsal_Combi2, Med.acetylsal_Combi3, Med.ADPinh, Med.all.antiplatelet, Med.angiot2.antag,
    Med.antiarrh, Med.anticoagulants, Med.ascal, Med.aspirin.derived, Med.bblocker, Med.calc_antag, Med.dipyridamole, Med.diuretic,
    Med.LLD, Med.nitrate, Med.otheranthyp, Med.renin, Med.statin, Med.statin.derived, Med.Statin.LLD, Med.statin2, MedHx_CVD, media,
    MG_H1, MI_Dx, MI_Dx1, MI_Dx2, MIF, MIF_rank, MIG, MIG_rank, MIP1a, MIP1a_rank, miRNA100_RNU19, miRNA100_RNU48, miRNA155_RNU19,
    miRNA155_RNU48, MMP14, MMP2, MMP2_rank, MMP2TIMP2, MMP8, MMP8_rank, MMP9, MMP9_rank, MMP9TIMP1, MPO_plasma, MRP_14, MRP_8, MRP_8_14C,
    MRP_8_14C_buhlmann, MRP14_plasma, MRP8_14C_plasma, MRP8_plasma, negatibl, neuropsy, neuropsy2, neuropsy3, neuropsy4, neurpsy5,
    neutrophils, NGAL, NGAL_low, NGAL_MMP9_complex, NGAL_MMP9_local, NGAL_MMP9_peripheral, NGAL_total, NGAL_up, nitrate, nitrate2, NOD1,
    NOD2, nogobt1_recalculated, NTproBNP_plasma, Number_Events_Sorter, Number_Sorted_CD14, Number_Sorted_CD20, Number_Sorted_CD4_Cells,
    Number_Sorted_CD8_Cells, oac701, oac702, oac70305, oac704, oac705, oac706, oac707, oac708, oac709, oac710, oac711, oac712, oac713,
    oac714, OKyear, OPG, OPG_plasma, OPG_rank, OPN, OPN_2013, OPN_plasma, OR_blood, Oral.glucose.inh, oralgluc, oralgluc2, oralgluc3,
    oralgluc4, ORdate_epoch, ORdate_year, ORyear, othanthyp, othcoron, other, other2, OverallPlaquePhenotype, PAI1_pg_ml_2015,
    PAI1_pg_ug_2015, PAOD, PARC, PARC_rank, patch, PCSK9_plasma, PDGF_BB_plasma, Percentage_CD14, Percentage_CD20, Percentage_CD4,
    Percentage_CD8, Peripheral.interv, PKC, PLA2_plasma, Plaque_Vulnerability_Index, plaquephenotype, PlateID_plasma_olink, positibl,
    PrimaryLast, PrimaryLast1, prostagl, PulsePressure, qual01, qual02, qual0301, qual0302, qual0303, qual0304, qual0305, qual0306,
    qual0307, qual0308, qual0309, qual0310, qual0401, qual0402, qual0403, qual0404, qual0501, qual0502, qual0503, qual06, qual07, qual08,
    qual0901, qual0902, qual0903, qual0904, qual0905, qual0906, qual0907, qual0908, qual0909, qual1010, qual1101, qual1102, qual1103,
    qual1104, RAAS_med, RANTES, RANTES_pg_ml_2015, RANTES_pg_ug_2015, RANTES_plasma, RANTES_rank, Ras, RE50_01, RE70_01, Renine_recode,
    renineinh, restenos, restenosisOK, rheuma, rheuma2, rheuma3, risk601, risk602, risk603, risk604, risk605, risk606, risk607, risk608,
    risk609, risk610, risk611, risk612, risk613, risk614, risk615, risk616, risk617, risk618, risk619, risk620, SBPGroup,
    Segment_isolated_Tris_2015, SHBG, sICAM1, sICAM1_rank, SMAD1_5_8, SMAD2, SMAD3, smc, SMC_binned, SMC_grouped, SMC_Instability, SMC_LN,
    smc_location, smc_macrophages_ratio, SMC_rank, SMC.bin, smcmean0, SmokerCurrent, SmokerStatus, SmokingReported, SmokingYearOR, stat3P,
    statin2, statines, ste3mext, sten1yr, sten3mo, stenose, stenosis_con_bin, Stenosis_contralateral, Stenosis_ipsilateral, StenoticGroup,
    Stroke_Dx, Stroke_eitherside, Stroke_history, Stroke_Symptoms, StrokeTIA_Dx, StrokeTIA_history, StrokeTIA_Symptoms, STUDY_NUMBER,
    sympt, Sympt_latest, Sympt_worst, sympt1, sympt2, sympt3, sympt4, Symptoms.3g, Symptoms.4g, Symptoms.5G, systolic, T_NUMBER, TARC,
    TARC_rank, TAT_plasma, TC_2016, TC_all, TC_avg, TC_clinic, TC_dif, TC_final, TC_finalCU, TC_var, Testosterone, TG_2016, TG_all,
    TG_avg, TG_clinic, TG_dif, TG_final, TG_finalCU, TG_var, TGF, TGFB, TGFB_rank, thrombos, thrombus, thrombus_location, thrombus_new,
    thrombus_organization, thrombus_organization_v2, thrombus_percentage, thyros2, thyrosta, Time_event_OR, TimeOR_latest,
    TimeOR_latest_4g, TimeOR_worst, TimeOR_worst_4g, TIMP1, TIMP2, TISNOW, TNFA, TNFA_rank, totalchol, totalcholesterol_source, tractdig,
    tractdig2, tractdig3, tractdig4, tractres, Treatment.DM, TREM1, triglyceride_source, triglyceriden, Tris_protein_conc_ug_ml_2015,
    Trop1, Trop1DT, Trop2, Trop2DT, Trop3, Trop3DT, TropmaxpostOK, TropoMax, TropoMaxDT, tropomaxpositief, TSratio_blood, TSratio_plaque,
    UPID, validation_date, validation1, validation2, validation3, validation4, validation5, validation6, VAR00001, VEGFA, VEGFA_plasma,
    VEGFA_rank, vegfa422, vessel_density, vessel_density_additional, vessel_density_averaged, vessel_density_Timo2012,
    vessel_density_Timo2012_2, vessel_density_Timo2013, VesselDensity_LN, VesselDensity_rank, vitamin, vitamin2, vitb12, VRAGENLIJST,
    vWF_plasma, WBC_THAW, Which.femoral.artery, Whichoperation, writtenIC, yearablo, yearablo2, yearablo3, yearace, yearace2, yearacet,
    yearanal, yearanal2, yearanal3, yearangi, yearanta, yearanta2, yearanti, yearanti2, yearbblo, yearbblo2, yearcalc, yearcalc2,
    yearcalreg, yearcarb, yearchol, yearchol2, yearchol3, yearclau1, yearclau2, yearclop, yearcom1, yearcom2, yearcom3, yearcort,
    yearcorthorm2, yearderm, yeardig, yeardig2, yeardig3, yeardig4, yeardipy, yeardiur, yeardiur2, yeardiur3, yearerec, yeareye, yeargluc,
    yeargluc2, yeargluc3, yeargluc4, yeargrel, yearinsu, yeariron, yeariron2, yearneur, yearneur2, yearneur3, yearneur4, yearnitr,
    yearnitr2, yearOR_bin_2010, YearOR_per2years, yearotant, yearotcor, yearoth2, yearothe, yearpros, yearpsy5, yearren, yearresp,
    yearrheu, yearrheu2, yearrheu3, yearsta2, yearstat, yearthro, yearthyr, yearthyr2, yearvit2, yearvita, Yrs.no.smoking, Yrs.smoking
AEDB.CEA$yeartemp <- as.numeric(year(AEDB.CEA$dateok))
AEDB.CEA[,"ORyearGroup"] <- NA
AEDB.CEA$ORyearGroup[yeartemp <= 2007] <- "< 2007"
AEDB.CEA$ORyearGroup[yeartemp > 2007] <- "> 2007"
detach(AEDB.CEA)

table(AEDB.CEA$ORyearGroup, AEDB.CEA$ORdate_year)
        
         2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019
  < 2007   81  157  190  185  183  152    0    0    0    0    0    0    0    0    0    0    0    0
  > 2007    0    0    0    0    0    0  138  182  159  164  176  149  163   76   85   65   66   52

MCP1 plaque levels vs. plaque vulnerability index

# Global test
# compare_means(MCP1_pg_ug_2015_rank ~ Gender,  data = AEDB.CEA, method = "wilcox.test")
p1 <- ggpubr::ggboxplot(AEDB.CEA, 
                  x = "Plaque_Vulnerability_Index",
                  y = "MCP1_pg_ug_2015_rank", 
                  xlab = "Plaque vulnerability index",
                  ylab = "MCP1 plaque [pg/ug]\n(INT, exp 2)",
                  color = "Plaque_Vulnerability_Index",
                  palette = "npg",
                  add = "jitter") #+
  # stat_compare_means(method = "wilcox.test")
ggpar(p1, legend = "bottom", legend.title = "Plaque vulnerability index")
ggsave(filename = paste0(PLOT_loc, "/", Today, ".MCP1.plaque.exp2_pgug.PlaqueVulnerabilityIndex.pdf"), plot = last_plot())
Saving 7.29 x 4.51 in image

# compare_means(MCP1_pg_ug_2015_rank ~ AgeGroup,  data = AEDB.CEA, method = "kruskal.test")
p2 <- ggpubr::ggboxplot(AEDB.CEA, 
                  x = "Plaque_Vulnerability_Index",
                  y = "MCP1_pg_ml_2015_rank", 
                  xlab = "Plaque vulnerability index",
                  ylab = "MCP1 plaque [pg/mL]\n(INT, exp 2)",
                  color = "Plaque_Vulnerability_Index",
                  palette = "npg",
                  add = "jitter") #+
  # stat_compare_means(method = "kruskal.test")
ggpar(p2, legend = "bottom", legend.title = "Plaque vulnerability index")
ggsave(filename = paste0(PLOT_loc, "/", Today, ".MCP1.plaque.exp2_pgmL.PlaqueVulnerabilityIndex.pdf"), plot = last_plot())
Saving 7.29 x 4.51 in image

# compare_means(MCP1_pg_ug_2015_rank ~ AgeGroup,  data = AEDB.CEA, method = "kruskal.test")
p3 <- ggpubr::ggboxplot(AEDB.CEA, 
                  x = "Plaque_Vulnerability_Index",
                  y = "MCP1_rank", 
                  xlab = "Plaque vulnerability index",
                  ylab = "MCP1 plaque [pg/mL]\n(INT, exp 1)",
                  color = "Plaque_Vulnerability_Index",
                  palette = "npg",
                  add = "jitter") #+
  # stat_compare_means(method = "kruskal.test")
ggpar(p3, legend = "bottom", legend.title = "Plaque vulnerability index")
ggsave(filename = paste0(PLOT_loc, "/", Today, ".MCP1.plaque.exp1_pgmL.PlaqueVulnerabilityIndex.pdf"), plot = last_plot())
Saving 7.29 x 4.51 in image

p1 <- ggpubr::ggboxplot(AEDB.CEA, 
                  x = "Plaque_Vulnerability_Index",
                  y = "MCP1_pg_ug_2015_rank", 
                  xlab = "Plaque vulnerability index",
                  ylab = "MCP1 plaque [pg/ug]\n(INT, exp 2)",
                  color = "Plaque_Vulnerability_Index",
                  palette = "npg",
                  facet.by = "ORyearGroup",
                  add = "jitter") #+
  # stat_compare_means(method = "wilcox.test")
ggpar(p1, legend = "bottom", legend.title = "Plaque vulnerability index")
ggsave(filename = paste0(PLOT_loc, "/", Today, ".MCP1.plaque.exp2_pgug.PlaqueVulnerabilityIndex_Facet_byYear.pdf"), plot = last_plot())
Saving 7.29 x 4.51 in image

# compare_means(MCP1_pg_ug_2015_rank ~ AgeGroup,  data = AEDB.CEA, method = "kruskal.test")
p2 <- ggpubr::ggboxplot(AEDB.CEA, 
                  x = "Plaque_Vulnerability_Index",
                  y = "MCP1_pg_ml_2015_rank", 
                  xlab = "Plaque vulnerability index",
                  ylab = "MCP1 plaque [pg/mL]\n(INT, exp 2)",
                  color = "Plaque_Vulnerability_Index",
                  palette = "npg",
                  facet.by = "ORyearGroup",
                  add = "jitter") #+
  # stat_compare_means(method = "kruskal.test")
ggpar(p2, legend = "bottom", legend.title = "Plaque vulnerability index")
ggsave(filename = paste0(PLOT_loc, "/", Today, ".MCP1.plaque.exp2_pgmL.PlaqueVulnerabilityIndex_Facet_byYear.pdf"), plot = last_plot())
Saving 7.29 x 4.51 in image

# compare_means(MCP1_pg_ug_2015_rank ~ AgeGroup,  data = AEDB.CEA, method = "kruskal.test")
p3 <- ggpubr::ggboxplot(AEDB.CEA, 
                  x = "Plaque_Vulnerability_Index",
                  y = "MCP1_rank", 
                  xlab = "Plaque vulnerability index",
                  ylab = "MCP1 plaque [pg/mL]\n(INT, exp 1)",
                  color = "Plaque_Vulnerability_Index",
                  palette = "npg",
                  facet.by = "ORyearGroup",
                  add = "jitter") #+
  # stat_compare_means(method = "kruskal.test")
ggpar(p3, legend = "bottom", legend.title = "Plaque vulnerability index")
ggsave(filename = paste0(PLOT_loc, "/", Today, ".MCP1.plaque.exp1_pgmL.PlaqueVulnerabilityIndex_Facet_byYear.pdf"), plot = last_plot())
Saving 7.29 x 4.51 in image

MCP1 plasma levels vs. plaque vulnerability index

# Global test
# compare_means(MCP1_pg_ug_2015_rank ~ Gender,  data = AEDB.CEA, method = "wilcox.test")
p1 <- ggpubr::ggboxplot(AEDB.CEA, 
                  x = "Plaque_Vulnerability_Index",
                  y = "MCP1_plasma_olink_rank", 
                  xlab = "Plaque vulnerability index",
                  ylab = "MCP1 plasma [AU]\n(inverse-normal transformation)",
                  color = "Plaque_Vulnerability_Index",
                  palette = "npg",
                  add = "jitter") #+
  # stat_compare_means(method = "wilcox.test")
ggpar(p1, legend = "bottom", legend.title = "Plaque vulnerability index")
ggsave(filename = paste0(PLOT_loc, "/", Today, ".MCP1.plasma.PlaqueVulnerabilityIndex.pdf"), plot = last_plot())
Saving 7.29 x 4.51 in image

p1 <- ggpubr::ggboxplot(AEDB.CEA, 
                  x = "Plaque_Vulnerability_Index",
                  y = "MCP1_plasma_olink_rank", 
                  xlab = "Plaque vulnerability index",
                  ylab = "MCP1 plasma [AU]\n(inverse-normal transformation)",
                  color = "Plaque_Vulnerability_Index",
                  palette = "npg",
                  facet.by = "ORyearGroup",
                  add = "jitter") #+
  # stat_compare_means(method = "wilcox.test")
ggpar(p1, legend = "bottom", legend.title = "Plaque vulnerability index")
ggsave(filename = paste0(PLOT_loc, "/", Today, ".MCP1.plasma.PlaqueVulnerabilityIndex_FacetbyYear.pdf"), plot = last_plot())
Saving 7.29 x 4.51 in image

p1 <- ggpubr::ggboxplot(AEDB.CEA, 
                  x = "Plaque_Vulnerability_Index",
                  y = "MCP1_plasma_olink_rank", 
                  xlab = "Plaque vulnerability index",
                  ylab = "MCP1 plasma [AU]\n(inverse-normal transformation)",
                  color = "ORyearGroup",
                  palette = "npg",
                  add = "jitter") #+
  # stat_compare_means(method = "wilcox.test")
ggpar(p1, legend = "bottom", legend.title = "Plaque vulnerability index")
ggsave(filename = paste0(PLOT_loc, "/", Today, ".MCP1.plasma.PlaqueVulnerabilityIndex_byYear.pdf"), plot = last_plot())
Saving 7.29 x 4.51 in image

rm(p1)

Model 1

In this model we correct for Age, Gender, and year of surgery.

Here we use the inverse-rank normalized data - visually this is more normally distributed.

Analysis of the plaque vulnerability indez as a function of plasma/plaque MCP1 levels.

TRAITS.PROTEIN.RANK.extra = c("MCP1_pg_ug_2015_rank", "MCP1_pg_ml_2015_rank",  "MCP1_rank", "MCP1_plasma_olink_rank")

GLM.results <- data.frame(matrix(NA, ncol = 16, nrow = 0))
for (protein in 1:length(TRAITS.PROTEIN.RANK.extra)) {
  PROTEIN = TRAITS.PROTEIN.RANK.extra[protein]
  cat(paste0("\nAnalysis of ",PROTEIN,".\n"))
  TRAIT = "Plaque_Vulnerability_Index"
    cat(paste0("\n- processing ",TRAIT,"\n\n"))
    currentDF <- as.data.frame(AEDB.CEA %>%
      dplyr::select(., PROTEIN, TRAIT, COVARIATES_M1, ORdate_epoch) %>%
      filter(complete.cases(.))) %>%
      filter_if(~is.numeric(.), all_vars(!is.infinite(.))) %>%
      droplevels(.)
    
    # fix numeric OR year
    currentDF$ORdate_year <- as.numeric(currentDF$ORdate_year)
    
    # for debug
    # print(DT::datatable(currentDF))
    # print(nrow(currentDF))
    # print(str(currentDF))
    # print(class(currentDF[,TRAIT]))
    # table(currentDF$ORdate_year)
    ### univariate
     # + Hypertension.composite + DiabetesStatus + SmokerCurrent + 
     #            Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + BMI + 
     #            CAD_history + Stroke_history + Peripheral.interv + stenose
    fit <- polr(currentDF[,TRAIT] ~ currentDF[,PROTEIN] + Age + Gender + ORdate_year, 
              data  =  currentDF, 
              Hess = TRUE)
    print(summary(fit))
    
    ## store table
    (ctable <- coef(summary(fit)))

    ## calculate and store p values
    p <- pnorm(abs(ctable[, "t value"]), lower.tail = FALSE) * 2
    
    ## combined table
    print((ctable <- cbind(ctable, "p value" = p)))
  }

Analysis of MCP1_pg_ug_2015_rank.

- processing Plaque_Vulnerability_Index

Call:
polr(formula = currentDF[, TRAIT] ~ currentDF[, PROTEIN] + Age + 
    Gender + ORdate_year, data = currentDF, Hess = TRUE)

Coefficients:
                        Value Std. Error  t value
currentDF[, PROTEIN]  0.22974  0.0520658    4.412
Age                   0.01146  0.0064644    1.773
Gendermale            0.75526  0.1139703    6.627
ORdate_year          -0.16621  0.0002403 -691.760

Intercepts:
    Value       Std. Error  t value    
0|1   -334.7597      0.0043 -78282.6858
1|2   -333.3455      0.0922  -3613.6521
2|3   -332.1538      0.1055  -3148.5999
3|4   -330.6113      0.1233  -2682.2176
4|5   -328.8917      0.1811  -1816.2604

Residual Deviance: 3775.709 
AIC: 3793.709 
                             Value   Std. Error       t value      p value
currentDF[, PROTEIN]    0.22973882 0.0520657989      4.412471 1.021976e-05
Age                     0.01146118 0.0064644492      1.772956 7.623601e-02
Gendermale              0.75525514 0.1139703340      6.626770 3.431127e-11
ORdate_year            -0.16620537 0.0002402644   -691.760307 0.000000e+00
0|1                  -334.75966137 0.0042762925 -78282.685826 0.000000e+00
1|2                  -333.34553517 0.0922461607  -3613.652131 0.000000e+00
2|3                  -332.15375667 0.1054925271  -3148.599865 0.000000e+00
3|4                  -330.61131055 0.1232604354  -2682.217610 0.000000e+00
4|5                  -328.89167468 0.1810817842  -1816.260405 0.000000e+00

Analysis of MCP1_pg_ml_2015_rank.

- processing Plaque_Vulnerability_Index

Call:
polr(formula = currentDF[, TRAIT] ~ currentDF[, PROTEIN] + Age + 
    Gender + ORdate_year, data = currentDF, Hess = TRUE)

Coefficients:
                        Value Std. Error  t value
currentDF[, PROTEIN]  0.41240  0.0532549    7.744
Age                   0.01012  0.0064653    1.565
Gendermale            0.64970  0.1152482    5.637
ORdate_year          -0.19973  0.0002414 -827.253

Intercepts:
    Value       Std. Error  t value    
0|1   -402.2399      0.0041 -99035.6421
1|2   -400.8099      0.0927  -4325.4754
2|3   -399.5923      0.1060  -3770.4681
3|4   -398.0243      0.1241  -3208.1032
4|5   -396.2918      0.1820  -2177.0531

Residual Deviance: 3747.495 
AIC: 3765.495 
                             Value  Std. Error       t value      p value
currentDF[, PROTEIN]    0.41239585 0.053254882      7.743813 9.647894e-15
Age                     0.01011714 0.006465267      1.564844 1.176194e-01
Gendermale              0.64969711 0.115248205      5.637373 1.726639e-08
ORdate_year            -0.19972708 0.000241434   -827.253409 0.000000e+00
0|1                  -402.23988620 0.004061567 -99035.642101 0.000000e+00
1|2                  -400.80990883 0.092662627  -4325.475353 0.000000e+00
2|3                  -399.59231347 0.105979499  -3770.468053 0.000000e+00
3|4                  -398.02430118 0.124068422  -3208.103198 0.000000e+00
4|5                  -396.29184933 0.182031321  -2177.053081 0.000000e+00

Analysis of MCP1_rank.

- processing Plaque_Vulnerability_Index

Call:
polr(formula = currentDF[, TRAIT] ~ currentDF[, PROTEIN] + Age + 
    Gender + ORdate_year, data = currentDF, Hess = TRUE)

Coefficients:
                       Value Std. Error t value
currentDF[, PROTEIN] 0.57914   0.081983   7.064
Age                  0.01674   0.010018   1.671
Gendermale           0.67004   0.173922   3.853
ORdate_year          0.11245   0.000364 308.898

Intercepts:
    Value      Std. Error t value   
0|1   223.5627     0.0048 46996.7054
1|2   225.2892     0.1979  1138.6231
2|3   226.6480     0.2156  1051.2929
3|4   228.3111     0.2372   962.6942
4|5   229.9356     0.2885   796.9079

Residual Deviance: 1682.273 
AIC: 1700.273 
                            Value   Std. Error      t value      p value
currentDF[, PROTEIN]   0.57914246 0.0819826492     7.064208 1.615350e-12
Age                    0.01674476 0.0100184222     1.671396 9.464339e-02
Gendermale             0.67004219 0.1739220743     3.852543 1.168977e-04
ORdate_year            0.11245196 0.0003640419   308.898413 0.000000e+00
0|1                  223.56270901 0.0047569868 46996.705365 0.000000e+00
1|2                  225.28918129 0.1978610688  1138.623088 0.000000e+00
2|3                  226.64797639 0.2155897515  1051.292906 0.000000e+00
3|4                  228.31109565 0.2371584838   962.694195 0.000000e+00
4|5                  229.93564181 0.2885347907   796.907857 0.000000e+00

Analysis of MCP1_plasma_olink_rank.

- processing Plaque_Vulnerability_Index

Call:
polr(formula = currentDF[, TRAIT] ~ currentDF[, PROTEIN] + Age + 
    Gender + ORdate_year, data = currentDF, Hess = TRUE)

Coefficients:
                        Value Std. Error  t value
currentDF[, PROTEIN] -0.13612  0.0731441   -1.861
Age                   0.01139  0.0098763    1.153
Gendermale            0.54853  0.1492376    3.676
ORdate_year          -0.25718  0.0003811 -674.757

Intercepts:
    Value        Std. Error   t value     
0|1    -516.8352       0.0050 -103656.5302
1|2    -515.8462       0.0834   -6185.9742
2|3    -514.9276       0.1031   -4994.2955
3|4    -513.5048       0.1360   -3777.0617
4|5    -512.2499       0.1933   -2649.5723

Residual Deviance: 2133.562 
AIC: 2151.562 
                             Value   Std. Error       t value     p value
currentDF[, PROTEIN]   -0.13612369 0.0731441107 -1.861034e+00 0.062739345
Age                     0.01139166 0.0098762592  1.153439e+00 0.248730239
Gendermale              0.54852544 0.1492376173  3.675517e+00 0.000237368
ORdate_year            -0.25718065 0.0003811456 -6.747570e+02 0.000000000
0|1                  -516.83518562 0.0049860359 -1.036565e+05 0.000000000
1|2                  -515.84621578 0.0833896494 -6.185974e+03 0.000000000
2|3                  -514.92764397 0.1031031584 -4.994296e+03 0.000000000
3|4                  -513.50478478 0.1359535054 -3.777062e+03 0.000000000
4|5                  -512.24989652 0.1933330540 -2.649572e+03 0.000000000

Model 2

In this model we correct for Age, Gender, Hypertension status, Diabetes status, current smoker status, lipid-lowering drugs (LLDs), antiplatelet medication, eGFR (MDRD), BMI, MedHx_CVD (combination of CAD history, stroke history, and peripheral interventions), and stenosis..


for (protein in 1:length(TRAITS.PROTEIN.RANK.extra)) {
  PROTEIN = TRAITS.PROTEIN.RANK.extra[protein]
  cat(paste0("\nAnalysis of ",PROTEIN,".\n"))
  TRAIT = "Plaque_Vulnerability_Index"
    cat(paste0("\n- processing ",TRAIT,"\n\n"))
    currentDF <- as.data.frame(AEDB.CEA %>%
      dplyr::select(., PROTEIN, TRAIT, COVARIATES_M2) %>%
      filter(complete.cases(.))) %>%
      filter_if(~is.numeric(.), all_vars(!is.infinite(.))) %>%
      droplevels(.)
    
    # fix numeric OR year
    currentDF$ORdate_year <- as.numeric(currentDF$ORdate_year)
    
    # for debug
    # print(DT::datatable(currentDF))
    # print(nrow(currentDF))
    # print(str(currentDF))
    # print(class(currentDF[,TRAIT]))
    ### univariate

    fit <- polr(as.factor(currentDF[,TRAIT]) ~ currentDF[,PROTEIN] + Age + Gender + ORdate_year + Hypertension.composite + DiabetesStatus + SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + BMI + MedHx_CVD + stenose,
              data  =  currentDF,
              Hess = TRUE)
    
    print(summary(fit))
    
    ## store table
    (ctable <- coef(summary(fit)))

    ## calculate and store p values
    p <- pnorm(abs(ctable[, "t value"]), lower.tail = FALSE) * 2
    
    ## combined table
    print((ctable <- cbind(ctable, "p value" = p)))
  }

Analysis of MCP1_pg_ug_2015_rank.

- processing Plaque_Vulnerability_Index

Call:
polr(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    Age + Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF, Hess = TRUE)

Coefficients:
                              Value Std. Error   t value
currentDF[, PROTEIN]       0.228047   0.056478    4.0378
Age                        0.007808   0.012084    0.6462
Gendermale                 0.760609   0.127182    5.9805
ORdate_year               -0.177792   0.000823 -216.0297
Hypertension.compositeyes -0.126849   0.174560   -0.7267
DiabetesStatusDiabetes    -0.144444   0.137568   -1.0500
SmokerStatusEx-smoker      0.085838   0.129332    0.6637
SmokerStatusNever smoked   0.543817   0.184715    2.9441
Med.Statin.LLDyes          0.070612   0.144823    0.4876
Med.all.antiplateletyes   -0.053570   0.206360   -0.2596
GFR_MDRD                  -0.002325   0.004066   -0.5718
BMI                       -0.003801   0.023201   -0.1638
MedHx_CVDyes               0.147107   0.117907    1.2477
stenose50-70%             -0.787612   0.157870   -4.9890
stenose70-90%             -0.720064   0.095073   -7.5738
stenose90-99%             -0.886088   0.097784   -9.0617
stenose100% (Occlusion)   -1.649069   0.011362 -145.1390
stenose50-99%             -1.449354   0.006847 -211.6876
stenose70-99%             -1.316786   0.008036 -163.8595

Intercepts:
    Value      Std. Error t value   
0|1  -359.3301     0.0619 -5800.4612
1|2  -357.8203     0.1370 -2612.1494
2|3  -356.6089     0.1542 -2313.2703
3|4  -355.0500     0.1494 -2376.9984
4|5  -353.3730     0.1966 -1797.4815

Residual Deviance: 3246.932 
AIC: 3294.932 
                                  Value   Std. Error       t value      p value
currentDF[, PROTEIN]       2.280469e-01 0.0564780166     4.0377997 5.395489e-05
Age                        7.808445e-03 0.0120841895     0.6461703 5.181690e-01
Gendermale                 7.606088e-01 0.1271815191     5.9804977 2.224569e-09
ORdate_year               -1.777916e-01 0.0008229957  -216.0297379 0.000000e+00
Hypertension.compositeyes -1.268491e-01 0.1745595028    -0.7266809 4.674214e-01
DiabetesStatusDiabetes    -1.444443e-01 0.1375683773    -1.0499820 2.937264e-01
SmokerStatusEx-smoker      8.583754e-02 0.1293318029     0.6637002 5.068822e-01
SmokerStatusNever smoked   5.438166e-01 0.1847151528     2.9440823 3.239138e-03
Med.Statin.LLDyes          7.061192e-02 0.1448234604     0.4875724 6.258528e-01
Med.all.antiplateletyes   -5.357011e-02 0.2063596905    -0.2595958 7.951756e-01
GFR_MDRD                  -2.325120e-03 0.0040663392    -0.5717968 5.674596e-01
BMI                       -3.800757e-03 0.0232006280    -0.1638213 8.698718e-01
MedHx_CVDyes               1.471071e-01 0.1179066463     1.2476574 2.121565e-01
stenose50-70%             -7.876117e-01 0.1578698915    -4.9889922 6.069509e-07
stenose70-90%             -7.200641e-01 0.0950734118    -7.5737700 3.625462e-14
stenose90-99%             -8.860878e-01 0.0977839248    -9.0616916 1.284429e-19
stenose100% (Occlusion)   -1.649069e+00 0.0113619997  -145.1389659 0.000000e+00
stenose50-99%             -1.449354e+00 0.0068466639  -211.6875611 0.000000e+00
stenose70-99%             -1.316786e+00 0.0080360663  -163.8594739 0.000000e+00
0|1                       -3.593301e+02 0.0619485421 -5800.4611789 0.000000e+00
1|2                       -3.578203e+02 0.1369830873 -2612.1493858 0.000000e+00
2|3                       -3.566089e+02 0.1541578905 -2313.2702894 0.000000e+00
3|4                       -3.550500e+02 0.1493690323 -2376.9983963 0.000000e+00
4|5                       -3.533730e+02 0.1965934232 -1797.4814740 0.000000e+00

Analysis of MCP1_pg_ml_2015_rank.

- processing Plaque_Vulnerability_Index

Call:
polr(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    Age + Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF, Hess = TRUE)

Coefficients:
                              Value Std. Error   t value
currentDF[, PROTEIN]       0.418370  0.0579871    7.2149
Age                        0.005896  0.0120649    0.4887
Gendermale                 0.662747  0.1286571    5.1513
ORdate_year               -0.211763  0.0008317 -254.6074
Hypertension.compositeyes -0.131494  0.1741966   -0.7549
DiabetesStatusDiabetes    -0.136239  0.1374964   -0.9909
SmokerStatusEx-smoker      0.084901  0.1295999    0.6551
SmokerStatusNever smoked   0.552791  0.1842708    2.9999
Med.Statin.LLDyes          0.100217  0.1448559    0.6918
Med.all.antiplateletyes   -0.062565  0.2065019   -0.3030
GFR_MDRD                  -0.002856  0.0040793   -0.7002
BMI                       -0.003863  0.0236201   -0.1635
MedHx_CVDyes               0.161993  0.1179045    1.3739
stenose50-70%             -0.667972  0.1575696   -4.2392
stenose70-90%             -0.645306  0.0951343   -6.7831
stenose90-99%             -0.796388  0.0979339   -8.1319
stenose100% (Occlusion)   -1.570633  0.0108586 -144.6441
stenose50-99%             -1.263311  0.0065156 -193.8893
stenose70-99%             -1.199791  0.0071226 -168.4488

Intercepts:
    Value      Std. Error t value   
0|1  -427.6886     0.0602 -7103.1843
1|2  -426.1533     0.1353 -3148.7832
2|3  -424.9137     0.1520 -2795.1793
3|4  -423.3275     0.1490 -2840.3173
4|5  -421.6368     0.1983 -2126.3969

Residual Deviance: 3217.477 
AIC: 3265.477 
                                  Value   Std. Error       t value      p value
currentDF[, PROTEIN]       4.183699e-01 0.0579870631     7.2148842 5.397987e-13
Age                        5.896199e-03 0.0120649241     0.4887059 6.250499e-01
Gendermale                 6.627466e-01 0.1286570869     5.1512641 2.587365e-07
ORdate_year               -2.117629e-01 0.0008317231  -254.6074325 0.000000e+00
Hypertension.compositeyes -1.314941e-01 0.1741966173    -0.7548602 4.503328e-01
DiabetesStatusDiabetes    -1.362392e-01 0.1374964136    -0.9908561 3.217558e-01
SmokerStatusEx-smoker      8.490072e-02 0.1295998539     0.6550989 5.124041e-01
SmokerStatusNever smoked   5.527907e-01 0.1842707752     2.9998828 2.700835e-03
Med.Statin.LLDyes          1.002173e-01 0.1448559028     0.6918414 4.890369e-01
Med.all.antiplateletyes   -6.256453e-02 0.2065019313    -0.3029731 7.619103e-01
GFR_MDRD                  -2.856430e-03 0.0040792856    -0.7002280 4.837850e-01
BMI                       -3.862761e-03 0.0236200979    -0.1635370 8.700956e-01
MedHx_CVDyes               1.619931e-01 0.1179045387     1.3739348 1.694619e-01
stenose50-70%             -6.679723e-01 0.1575695959    -4.2392205 2.242973e-05
stenose70-90%             -6.453059e-01 0.0951342876    -6.7831058 1.176194e-11
stenose90-99%             -7.963882e-01 0.0979338596    -8.1318987 4.226178e-16
stenose100% (Occlusion)   -1.570633e+00 0.0108586007  -144.6441313 0.000000e+00
stenose50-99%             -1.263311e+00 0.0065156313  -193.8892920 0.000000e+00
stenose70-99%             -1.199791e+00 0.0071225894  -168.4487660 0.000000e+00
0|1                       -4.276886e+02 0.0602108239 -7103.1843328 0.000000e+00
1|2                       -4.261533e+02 0.1353390471 -3148.7832305 0.000000e+00
2|3                       -4.249137e+02 0.1520165995 -2795.1793305 0.000000e+00
3|4                       -4.233275e+02 0.1490423213 -2840.3173304 0.000000e+00
4|5                       -4.216368e+02 0.1982869504 -2126.3969333 0.000000e+00

Analysis of MCP1_rank.

- processing Plaque_Vulnerability_Index

Call:
polr(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    Age + Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF, Hess = TRUE)

Coefficients:
                              Value Std. Error t value
currentDF[, PROTEIN]       0.582091  0.0870366  6.6879
Age                        0.007899  0.0148627  0.5315
Gendermale                 0.752179  0.1888165  3.9836
ORdate_year                0.072517  0.0009023 80.3660
Hypertension.compositeyes  0.297669  0.2500139  1.1906
DiabetesStatusDiabetes    -0.225881  0.2116702 -1.0671
SmokerStatusEx-smoker     -0.099253  0.1832088 -0.5418
SmokerStatusNever smoked   0.325615  0.2747025  1.1853
Med.Statin.LLDyes          0.171944  0.1984399  0.8665
Med.all.antiplateletyes   -0.117527  0.2979384 -0.3945
GFR_MDRD                  -0.004244  0.0052909 -0.8020
BMI                        0.034714  0.0266318  1.3035
MedHx_CVDyes               0.198649  0.1726682  1.1505
stenose50-70%              0.067700  0.0182550  3.7086
stenose70-90%              0.743339  0.0875836  8.4872
stenose90-99%              0.631206  0.0878806  7.1825
stenose100% (Occlusion)    0.952212  0.0303750 31.3486

Intercepts:
    Value     Std. Error t value  
0|1  144.6067    0.0362  3990.9743
1|2  146.3445    0.2214   660.9133
2|3  147.7665    0.2540   581.8450
3|4  149.3776    0.2662   561.0606
4|5  151.0046    0.3050   495.0780

Residual Deviance: 1504.004 
AIC: 1548.004 
                                  Value   Std. Error      t value       p value
currentDF[, PROTEIN]        0.582091419 0.0870365671    6.6878950  2.264035e-11
Age                         0.007898933 0.0148627060    0.5314600  5.951001e-01
Gendermale                  0.752178825 0.1888165035    3.9836498  6.786486e-05
ORdate_year                 0.072516969 0.0009023344   80.3659565  0.000000e+00
Hypertension.compositeyes   0.297668763 0.2500138827    1.1906089  2.338071e-01
DiabetesStatusDiabetes     -0.225880837 0.2116701594   -1.0671360  2.859104e-01
SmokerStatusEx-smoker      -0.099253443 0.1832088094   -0.5417504  5.879905e-01
SmokerStatusNever smoked    0.325614749 0.2747025317    1.1853358  2.358847e-01
Med.Statin.LLDyes           0.171943503 0.1984399313    0.8664763  3.862290e-01
Med.all.antiplateletyes    -0.117527397 0.2979383769   -0.3944688  6.932349e-01
GFR_MDRD                   -0.004243556 0.0052909466   -0.8020411  4.225292e-01
BMI                         0.034713834 0.0266318281    1.3034717  1.924138e-01
MedHx_CVDyes                0.198649091 0.1726681767    1.1504673  2.499515e-01
stenose50-70%               0.067699597 0.0182549767    3.7085556  2.084449e-04
stenose70-90%               0.743338980 0.0875835961    8.4871941  2.116860e-17
stenose90-99%               0.631205945 0.0878805931    7.1825408  6.842764e-13
stenose100% (Occlusion)     0.952212176 0.0303749714   31.3485786 1.017279e-215
0|1                       144.606657736 0.0362334225 3990.9742895  0.000000e+00
1|2                       146.344455209 0.2214276176  660.9132897  0.000000e+00
2|3                       147.766496239 0.2539619705  581.8449745  0.000000e+00
3|4                       149.377587034 0.2662414694  561.0605566  0.000000e+00
4|5                       151.004647001 0.3050118314  495.0779984  0.000000e+00

Analysis of MCP1_plasma_olink_rank.

- processing Plaque_Vulnerability_Index
NaNs produced
Call:
polr(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] + 
    Age + Gender + ORdate_year + Hypertension.composite + DiabetesStatus + 
    SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + 
    BMI + MedHx_CVD + stenose, data = currentDF, Hess = TRUE)

Coefficients:
                               Value Std. Error   t value
currentDF[, PROTEIN]      -0.0986094   0.080436   -1.2259
Age                        0.0065781        NaN       NaN
Gendermale                 0.6887424   0.167080    4.1222
ORdate_year               -0.2620245        NaN       NaN
Hypertension.compositeyes  0.0889982   0.200127    0.4447
DiabetesStatusDiabetes     0.0870284   0.182946    0.4757
SmokerStatusEx-smoker      0.1794523   0.169033    1.0616
SmokerStatusNever smoked   0.4350977   0.257198    1.6917
Med.Statin.LLDyes         -0.0933360   0.181545   -0.5141
Med.all.antiplateletyes    0.1114051   0.220444    0.5054
GFR_MDRD                  -0.0004176        NaN       NaN
BMI                       -0.0185648        NaN       NaN
MedHx_CVDyes              -0.0281831   0.158037   -0.1783
stenose50-70%             -0.1894136   0.144332   -1.3123
stenose70-90%             -0.2623219   0.127490   -2.0576
stenose90-99%             -0.4204902   0.119098   -3.5306
stenose100% (Occlusion)   -1.9254360   0.002612 -737.0113
stenose50-99%             -0.6738567   0.011988  -56.2098
stenose70-99%              0.0127238   0.012516    1.0166
stenose99                  2.2481837   0.007339  306.3424

Intercepts:
    Value       Std. Error  t value    
0|1   -527.4437      0.0445 -11854.0374
1|2   -526.3793      0.0904  -5825.3008
2|3   -525.4283      0.1024  -5132.7681
3|4   -524.0042      0.0956  -5479.9494
4|5   -522.7674      0.1328  -3935.8237

Residual Deviance: 1811.37 
AIC: 1861.37 
NaNs produced
                                  Value  Std. Error       t value      p value
currentDF[, PROTEIN]      -9.860940e-02 0.080435654 -1.225941e+00 0.2202207194
Age                        6.578087e-03         NaN           NaN          NaN
Gendermale                 6.887424e-01 0.167080141  4.122228e+00 0.0000375226
ORdate_year               -2.620245e-01         NaN           NaN          NaN
Hypertension.compositeyes  8.899819e-02 0.200126992  4.447086e-01 0.6565303576
DiabetesStatusDiabetes     8.702838e-02 0.182945547  4.757065e-01 0.6342835136
SmokerStatusEx-smoker      1.794523e-01 0.169032877  1.061642e+00 0.2883984473
SmokerStatusNever smoked   4.350977e-01 0.257198031  1.691684e+00 0.0907063358
Med.Statin.LLDyes         -9.333602e-02 0.181545389 -5.141195e-01 0.6071684755
Med.all.antiplateletyes    1.114051e-01 0.220443676  5.053678e-01 0.6133005019
GFR_MDRD                  -4.176067e-04         NaN           NaN          NaN
BMI                       -1.856475e-02         NaN           NaN          NaN
MedHx_CVDyes              -2.818315e-02 0.158037297 -1.783322e-01 0.8584620605
stenose50-70%             -1.894136e-01 0.144332299 -1.312344e+00 0.1894041796
stenose70-90%             -2.623219e-01 0.127490111 -2.057586e+00 0.0396298498
stenose90-99%             -4.204902e-01 0.119098268 -3.530616e+00 0.0004145935
stenose100% (Occlusion)   -1.925436e+00 0.002612492 -7.370113e+02 0.0000000000
stenose50-99%             -6.738567e-01 0.011988239 -5.620981e+01 0.0000000000
stenose70-99%              1.272378e-02 0.012515915  1.016608e+00 0.3093400750
stenose99                  2.248184e+00 0.007338795  3.063424e+02 0.0000000000
0|1                       -5.274437e+02 0.044494859 -1.185404e+04 0.0000000000
1|2                       -5.263793e+02 0.090360876 -5.825301e+03 0.0000000000
2|3                       -5.254283e+02 0.102367425 -5.132768e+03 0.0000000000
3|4                       -5.240042e+02 0.095622085 -5.479949e+03 0.0000000000
4|5                       -5.227674e+02 0.132822872 -3.935824e+03 0.0000000000

Session information


Version:      v1.0.13
Last update:  2020-07-07
Written by:   Sander W. van der Laan (s.w.vanderlaan-2[at]umcutrecht.nl).
Description:  Script to analyse MCP1 from the Ather-Express Biobank Study.
Minimum requirements: R version 3.5.2 (2018-12-20) -- 'Eggshell Igloo', macOS Mojave (10.14.2).

**MoSCoW To-Do List**
The things we Must, Should, Could, and Would have given the time we have.
_M_
* DONE - analysis on plasma based on OLINK platform
* DONE - analysis on the pilot dataset on the OLINK platform, comparing plasma vs. plaque
* DONE - linear regression models (model 1 and model 2) of `MCP1_pg_ug_2015` with cytokines
* DONE - check out the difference between the measuremens of `MCP1` and `MCP1_pg_ug_2015` > `MCP1_pg_ug_2015` and `MCP1_pg_ml_2015` give similar results, `MCP1_pg_ug_2015` is more correct as this is corrected for the total amount of protein in the protein-sample used for the measurement. 
* DONE - double check the plotting of the MACE
* DONE - add the statistics for the correlation of `MCP1_pg_ug_2015` with the cytokines
* DONE - add the comparison between `MCP1`, `MCP1_pg_ml_2015`, and `MCP1_pg_ug_2015`
* DONE - analysis in the context of year of surgery given Van Lammeren _et al._ 
* DONE - add analysis on vulnerability index
* DONE - add analysis on binary and ordinal plaque phenotypes
* DONE - add boxplots of MCP1 levels stratified by confounders/variables

_S_
* DONE prettify forest plot

_C_


_W_


**Changes log**
* v1.0.14 Add analysis on plasma based MCP1 levels measured through OLINK, n ± 700, limited to symptomatic patients only.
* v1.0.13 Splitting RMDs into plaque-focused, and one including plasma levels of MCP1.
* v1.0.12 Add boxplots of MCP1 levels stratified by confounder/variables.
* v1.0.11 Add analysis of pilot data comparing OLINK-platform based MCP1 levels in plasma and plaque.
* v1.0.10 Add analyses for all three `MCP1`, `MCP1_pg_ml_2015`, and `MCP1_pg_ug_2015`. Add comparison between `MCP1`, `MCP1_pg_ml_2015`, and `MCP1_pg_ug_2015`. Add (and fixed) ordinal regression. Double checked which measurement to use. 
* v1.0.9 Added linear regression models for MCP1 vs. cytokines plaque levels. Double checked upload of MACE-plots. Added statistics from correlation (heatmap) to txt-file.
* v1.0.8 Fixed error in MCP1 plasma analysis. It turns out the `MCP1` and `MCP1_pg_ug_2015` variables are _both_ measured in plaque, in two separate experiments, exp. no. 1 and exp. no. 2, respectively. 
* v1.0.7 Fixed the per Age-group MCP1 Box plots. Added correlations with other cytokines in plaques.
* v1.0.6 Only analyses and figures that end up in the final manuscript.
* v1.0.5 Update with 30- and 90-days survival.
* v1.0.4 Updated with Cox-regressions.
* v1.0.3 Included more models.
* v1.0.2 Bugs fixed.
* v1.0.1 Extended with linear and logistic regressions.
* v1.0.0 Inital version.

sessionInfo()
R version 3.6.3 (2020-02-29)
Platform: x86_64-apple-darwin19.4.0 (64-bit)
Running under: macOS Catalina 10.15.5

Matrix products: default
BLAS:   /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBLAS.dylib
LAPACK: /usr/local/Cellar/openblas/0.3.10/lib/libopenblasp-r0.3.10.dylib

locale:
[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8

attached base packages:
[1] tools     stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
 [1] GGally_1.5.0               PerformanceAnalytics_2.0.4 xts_0.12-0                 zoo_1.8-8                  ggcorrplot_0.1.3.999      
 [6] Hmisc_4.4-0                Formula_1.2-3              lattice_0.20-41            survminer_0.4.6            survival_3.1-12           
[11] scales_1.1.1               ggsci_2.9                  patchwork_1.0.1.9000       LDlinkR_1.0.2.9000         RACER_1.0.0               
[16] openxlsx_4.1.5             ggpubr_0.3.0               tableone_0.11.1            labelled_2.4.0             sjPlot_2.8.4              
[21] sjlabelled_1.1.5           haven_2.3.0                devtools_2.3.0             usethis_1.6.1              MASS_7.3-51.6             
[26] DT_0.13                    knitr_1.28                 forcats_0.5.0              stringr_1.4.0              purrr_0.3.4               
[31] tibble_3.0.1               ggplot2_3.3.0              tidyverse_1.3.0            data.table_1.12.8          naniar_0.5.1              
[36] tidyr_1.1.0                dplyr_0.8.5                optparse_1.6.6             readr_1.3.1               

loaded via a namespace (and not attached):
  [1] readxl_1.3.1        backports_1.1.7     plyr_1.8.6          splines_3.6.3       crosstalk_1.1.0.1   TH.data_1.0-10      inline_0.3.15      
  [8] digest_0.6.25       htmltools_0.4.0     fansi_0.4.1         checkmate_2.0.0     magrittr_1.5        memoise_1.1.0       cluster_2.1.0      
 [15] remotes_2.1.1       modelr_0.1.8        matrixStats_0.56.0  sandwich_2.5-1      prettyunits_1.1.1   jpeg_0.1-8.1        colorspace_1.4-1   
 [22] rvest_0.3.5         mitools_2.4         xfun_0.14           callr_3.4.3         crayon_1.3.4        jsonlite_1.6.1      lme4_1.1-23        
 [29] glue_1.4.1          gtable_0.3.0        emmeans_1.4.7       sjstats_0.18.0      sjmisc_2.8.4        car_3.0-8           pkgbuild_1.0.8     
 [36] rstan_2.19.3        abind_1.4-5         mvtnorm_1.1-0       DBI_1.1.0           rstatix_0.5.0.999   ggeffects_0.14.3    Rcpp_1.0.4.6       
 [43] htmlTable_1.13.3    xtable_1.8-4        performance_0.4.6   foreign_0.8-75      km.ci_0.5-2         stats4_3.6.3        StanHeaders_2.19.2 
 [50] survey_4.0          htmlwidgets_1.5.1   httr_1.4.1          getopt_1.20.3       RColorBrewer_1.1-2  acepack_1.4.1       ellipsis_0.3.1     
 [57] reshape_0.8.8       pkgconfig_2.0.3     loo_2.2.0           farver_2.0.3        nnet_7.3-14         dbplyr_1.4.3        tidyselect_1.1.0   
 [64] labeling_0.3        rlang_0.4.6         reshape2_1.4.4      effectsize_0.3.1    munsell_0.5.0       cellranger_1.1.0    cli_2.0.2          
 [71] generics_0.0.2      broom_0.5.6         evaluate_0.14       yaml_2.2.1          processx_3.4.2      fs_1.4.1            zip_2.0.4          
 [78] survMisc_0.5.5      packrat_0.5.0       visdat_0.5.3        nlme_3.1-148        xml2_1.3.2          compiler_3.6.3      rstudioapi_0.11    
 [85] png_0.1-7           curl_4.3            e1071_1.7-3         testthat_2.3.2      ggsignif_0.6.0      reprex_0.3.0        statmod_1.4.34     
 [92] stringi_1.4.6       highr_0.8           ps_1.3.3            parameters_0.7.0    desc_1.2.0          Matrix_1.2-18       nloptr_1.2.2.1     
 [99] KMsurv_0.1-5        vctrs_0.3.0         pillar_1.4.4        lifecycle_0.2.0     estimability_1.3    cowplot_1.0.0       insight_0.8.4      
[106] latticeExtra_0.6-29 R6_2.4.1            gridExtra_2.3       rio_0.5.16          sessioninfo_1.1.1   codetools_0.2-16    boot_1.3-25        
[113] assertthat_0.2.1    pkgload_1.0.2       rprojroot_1.3-2     withr_2.2.0         multcomp_1.4-13     mgcv_1.8-31         bayestestR_0.6.0   
[120] parallel_3.6.3      hms_0.5.3           quadprog_1.5-8      rpart_4.1-15        grid_3.6.3          class_7.3-17        coda_0.19-3        
[127] minqa_1.2.4         rmarkdown_2.1       carData_3.0-4       lubridate_1.7.8     base64enc_0.1-3    

Saving environment

save.image(paste0(PROJECT_loc, "/",Today,".",PROJECTNAME,".sample_selection.RData"))
© 1979-2020 Sander W. van der Laan | s.w.vanderlaan-2[at]umcutrecht.nl | swvanderlaan.github.io.
LS0tCnRpdGxlOiAiQXRoZXJvLUV4cHJlc3MgQmlvYmFuayBTdHVkeSAtLSBJTDYgYW5kIE1DUDEgcGxhcXVlIGxldmVscy4iCmF1dGhvcjogJ1tTYW5kZXIgVy4gdmFuIGRlciBMYWFuLCBQaERdKGh0dHBzOi8vc3d2YW5kZXJsYWFuLmdpdGh1Yi5pbykgfCBAc3d2YW5kZXJsYWFuOyBNYXJpb3MgR2Vvcmdha2lzOyBSYWluZXIgTWFsaWs7IE1hcnRpbiBEaWNoZ2FucycKZGF0ZTogJ2ByIFN5cy5EYXRlKClgJwpvdXRwdXQ6CiAgaHRtbF9ub3RlYm9vazoKICAgIGNhY2hlOiB5ZXMKICAgIGNvZGVfZm9sZGluZzogaGlkZQogICAgY29sbGFwc2U6IHllcwogICAgZGZfcHJpbnQ6IHBhZ2VkCiAgICBmaWcuYWxpZ246IGNlbnRlcgogICAgZmlnX2NhcHRpb246IHllcwogICAgZmlnX2hlaWdodDogMTAKICAgIGZpZ19yZXRpbmE6IDIKICAgIGZpZ193aWR0aDogMTIKICAgIHRoZW1lOiBwYXBlcgogICAgdG9jOiB5ZXMKICAgIHRvY19mbG9hdDoKICAgICAgY29sbGFwc2VkOiBubwogICAgICBzbW9vdGhfc2Nyb2xsOiB5ZXMKbWFpbmZvbnQ6IEhlbHZldGljYQpzdWJ0aXRsZTogQW4gJ0F0aGVyby1FeHByZXNzIEJpb2JhbmsgU3R1ZHknIHByb2plY3QKZWRpdG9yX29wdGlvbnM6CiAgY2h1bmtfb3V0cHV0X3R5cGU6IGlubGluZQotLS0KYGBge3IgZ2xvYmFsX29wdGlvbnMsIGluY2x1ZGUgPSBGQUxTRX0KIyBmdXJ0aGVyIGRlZmluZSBzb21lIGtuaXRyLW9wdGlvbnMuCmtuaXRyOjpvcHRzX2NodW5rJHNldChmaWcud2lkdGggPSAxMiwgZmlnLmhlaWdodCA9IDgsIGZpZy5wYXRoID0gJ0ZpZ3VyZXMvJywKICAgICAgICAgICAgICAgICAgICAgIGV2YWwgPSBUUlVFLCB3YXJuaW5nID0gRkFMU0UsIG1lc3NhZ2UgPSBGQUxTRSkKYGBgCgojIFByZXBhcmF0aW9uCgpDbGVhbiB0aGUgZW52aXJvbm1lbnQuCmBgYHtyIENsZWFyRW52aXJvbm1lbnQsIGluY2x1ZGUgPSBGQUxTRX0Kcm0obGlzdCA9IGxzKCkpCmBgYAoKU2V0IGxvY2F0aW9ucywgYW5kIHRoZSB3b3JraW5nIGRpcmVjdG9yeS4KYGBge3IgTG9jYWxTeXN0ZW0sIGluY2x1ZGUgPSBGQUxTRX0KIyMjIE9wZXJhdGluZyBTeXN0ZW0gVmVyc2lvbgojIyMgTWFjIFBybwojIFJPT1RfbG9jID0gIi9Wb2x1bWVzL0VsaXRlUHJvUXgyTWVkaWEiCiMgR0VOT01JQ19sb2MgPSAiL1VzZXJzL3N2YW5kZXJsYWFuL2lDbG91ZC9HZW5vbWljcyIKCiMjIyBNYWNCb29rClJPT1RfbG9jID0gIi9Vc2Vycy9zd3ZhbmRlcmxhYW4iCkdFTk9NSUNfbG9jID0gcGFzdGUwKFJPT1RfbG9jLCAiL2lDbG91ZC9HZW5vbWljcyIpCgojIyMgR2VuZXJpYyBMb2NhdGlvbnMKQUVEQl9sb2MgPSBwYXN0ZTAoR0VOT01JQ19sb2MsICIvQUUtQUFBX0dTX0RCcyIpCkxBQl9sb2MgPSBwYXN0ZTAoR0VOT01JQ19sb2MsICIvTGFiQnVzaW5lc3MiKQpSRVNVTFRTID0gcGFzdGUwKFJPT1RfbG9jLCAiL1BMSU5LL2FuYWx5c2VzL2xvb2t1cHMvQUVfMjAxOTA5MTJfMDEwX01ESUNIR0FOU19TV1ZETEFBTl9JTDZfTUNQMSIpClJBV0RBVEEgPSBwYXN0ZTAoUk9PVF9sb2MsICIvUExJTksvX0FFX09SSUdJTkFMUy9BRVNDUk5BL3ByZXBwZWRfZGF0YSIpClBST0pFQ1RfbG9jID0gcGFzdGUwKFJPT1RfbG9jLCAiL1BMSU5LL2FuYWx5c2VzL2xvb2t1cHMvQUVfMjAxOTA5MTJfMDEwX01ESUNIR0FOU19TV1ZETEFBTl9JTDZfTUNQMSIpCgojIyMgU09NRSBWQVJJQUJMRVMgV0UgTkVFRCBET1dOIFRIRSBMSU5FCmNhdCgiXG5EZWZpbmluZyBwaGVub3R5cGVzIGFuZCBkYXRhc2V0cy5cbiIpClBST0pFQ1ROQU1FPSJJTDZNQ1AxIgojIFNVQlBST0pFQ1ROQU1FPSIiCgpjYXQoIlxuQ3JlYXRlIGEgbmV3IGFuYWx5c2lzIGRpcmVjdG9yeSwgaW5jbHVkaW5nIHN1YmRpcmVjdG9yaWVzLlxuIikKIyBBbmFseXNpcwppZmVsc2UoIWRpci5leGlzdHMoZmlsZS5wYXRoKFBST0pFQ1RfbG9jLCAiLyIsUFJPSkVDVE5BTUUpKSwgCiAgICAgICBkaXIuY3JlYXRlKGZpbGUucGF0aChQUk9KRUNUX2xvYywgIi8iLFBST0pFQ1ROQU1FKSksIAogICAgICAgRkFMU0UpCkFOQUxZU0lTX2xvYyA9IHBhc3RlMChQUk9KRUNUX2xvYywiLyIsUFJPSkVDVE5BTUUpCgojIFBsb3RzCmlmZWxzZSghZGlyLmV4aXN0cyhmaWxlLnBhdGgoQU5BTFlTSVNfbG9jLCAiL1BMT1RTIikpLCAKICAgICAgIGRpci5jcmVhdGUoZmlsZS5wYXRoKEFOQUxZU0lTX2xvYywgIi9QTE9UUyIpKSwgCiAgICAgICBGQUxTRSkKUExPVF9sb2MgPSBwYXN0ZTAoQU5BTFlTSVNfbG9jLCIvUExPVFMiKQoKIyBRQyBwbG90cwppZmVsc2UoIWRpci5leGlzdHMoZmlsZS5wYXRoKFBMT1RfbG9jLCAiL1FDIikpLCAKICAgICAgIGRpci5jcmVhdGUoZmlsZS5wYXRoKFBMT1RfbG9jLCAiL1FDIikpLCAKICAgICAgIEZBTFNFKQpRQ19sb2MgPSBwYXN0ZTAoUExPVF9sb2MsIi9RQyIpCgojIE91dHB1dCBmaWxlcwppZmVsc2UoIWRpci5leGlzdHMoZmlsZS5wYXRoKEFOQUxZU0lTX2xvYywgIi9PVVRQVVQiKSksIAogICAgICAgZGlyLmNyZWF0ZShmaWxlLnBhdGgoQU5BTFlTSVNfbG9jLCAiL09VVFBVVCIpKSwgCiAgICAgICBGQUxTRSkKT1VUX2xvYyA9IHBhc3RlMChBTkFMWVNJU19sb2MsICIvT1VUUFVUIikKCiMgQ09YIGFuYWx5c2lzCmlmZWxzZSghZGlyLmV4aXN0cyhmaWxlLnBhdGgoQU5BTFlTSVNfbG9jLCAiL0NPWCIpKSwgCiAgICAgICBkaXIuY3JlYXRlKGZpbGUucGF0aChBTkFMWVNJU19sb2MsICIvQ09YIikpLCAKICAgICAgIEZBTFNFKQpDT1hfbG9jID0gcGFzdGUwKEFOQUxZU0lTX2xvYywgIi9DT1giKQoKIyBCYXNlbGluZSBjaGFyYWN0ZXJpc3RpY3MKaWZlbHNlKCFkaXIuZXhpc3RzKGZpbGUucGF0aChBTkFMWVNJU19sb2MsICIvQkFTRUxJTkUiKSksIAogICAgICAgZGlyLmNyZWF0ZShmaWxlLnBhdGgoQU5BTFlTSVNfbG9jLCAiL0JBU0VMSU5FIikpLCAKICAgICAgIEZBTFNFKQpCQVNFTElORV9sb2MgPSBwYXN0ZTAoQU5BTFlTSVNfbG9jLCAiL0JBU0VMSU5FIikKCiMgU2FtcGxlIHNlbGVjdGlvbgppZmVsc2UoIWRpci5leGlzdHMoZmlsZS5wYXRoKEFOQUxZU0lTX2xvYywgIi9TRUxFQ1RJT05TIikpLCAKICAgICAgIGRpci5jcmVhdGUoZmlsZS5wYXRoKEFOQUxZU0lTX2xvYywgIi9TRUxFQ1RJT05TIikpLCAKICAgICAgIEZBTFNFKQpTRUxFQ1RJT05TX2xvYyA9IHBhc3RlMChBTkFMWVNJU19sb2MsICIvU0VMRUNUSU9OUyIpCgpjYXQoIlxuU2V0dGluZyB3b3JraW5nIGRpcmVjdG9yeSBhbmQgbGlzdGluZyBpdHMgY29udGVudHMuXG4iKQpzZXR3ZChwYXN0ZTAoUFJPSkVDVF9sb2MpKQpnZXR3ZCgpCmxpc3QuZmlsZXMoKQpgYGAKCkEgcGFja2FnZS1pbnN0YWxsYXRpb24gZnVuY3Rpb24uCmBgYHtyIEZ1bmN0aW9uOiBpbnN0YWxsYXRpb25zLCBpbmNsdWRlID0gRkFMU0V9Cmluc3RhbGwucGFja2FnZXMuYXV0byA8LSBmdW5jdGlvbih4KSB7IAogIHggPC0gYXMuY2hhcmFjdGVyKHN1YnN0aXR1dGUoeCkpIAogIGlmKGlzVFJVRSh4ICVpbiUgLnBhY2thZ2VzKGFsbC5hdmFpbGFibGUgPSBUUlVFKSkpIHsgCiAgICBldmFsKHBhcnNlKHRleHQgPSBzcHJpbnRmKCJyZXF1aXJlKFwiJXNcIikiLCB4KSkpCiAgfSBlbHNlIHsgCiAgICAjIFVwZGF0ZSBpbnN0YWxsZWQgcGFja2FnZXMgLSB0aGlzIG1heSBtZWFuIGEgZnVsbCB1cGdyYWRlIG9mIFIsIHdoaWNoIGluIHR1cm4KICAgICMgbWF5IG5vdCBiZSB3YXJyZW50ZWQuIAogICAgIyB1cGRhdGUuaW5zdGFsbC5wYWNrYWdlcy5hdXRvKGFzayA9IEZBTFNFKSAKICAgIGV2YWwocGFyc2UodGV4dCA9IHNwcmludGYoImluc3RhbGwucGFja2FnZXMoXCIlc1wiLCBkZXBlbmRlbmNpZXMgPSBUUlVFLCByZXBvcyA9IFwiaHR0cHM6Ly9jbG91ZC5yLXByb2plY3Qub3JnL1wiKSIsIHgpKSkKICB9CiAgaWYoaXNUUlVFKHggJWluJSAucGFja2FnZXMoYWxsLmF2YWlsYWJsZSA9IFRSVUUpKSkgeyAKICAgIGV2YWwocGFyc2UodGV4dCA9IHNwcmludGYoInJlcXVpcmUoXCIlc1wiKSIsIHgpKSkKICB9IGVsc2UgewogICAgaWYgKCFyZXF1aXJlTmFtZXNwYWNlKCJCaW9jTWFuYWdlciIpKQogICAgICBpbnN0YWxsLnBhY2thZ2VzKCJCaW9jTWFuYWdlciIpCiAgICAjIEJpb2NNYW5hZ2VyOjppbnN0YWxsKCkgIyB0aGlzIHdvdWxkIGVudGFpbCB1cGRhdGluZyBpbnN0YWxsZWQgcGFja2FnZXMsIHdoaWNoIGluIHR1cm5lZCBtYXkgbm90IGJlIHdhcnJlbnRlZAogICAgZXZhbChwYXJzZSh0ZXh0ID0gc3ByaW50ZigiQmlvY01hbmFnZXI6Omluc3RhbGwoXCIlc1wiKSIsIHgpKSkKICAgIGV2YWwocGFyc2UodGV4dCA9IHNwcmludGYoInJlcXVpcmUoXCIlc1wiKSIsIHgpKSkKICB9Cn0KYGBgCgpMb2FkIHRob3NlIHBhY2thZ2VzLgpgYGB7ciBTZXR0aW5nOiBsb2FkaW5nX3BhY2thZ2VzLCBpbmNsdWRlID0gRkFMU0V9Cmluc3RhbGwucGFja2FnZXMuYXV0bygicmVhZHIiKQppbnN0YWxsLnBhY2thZ2VzLmF1dG8oIm9wdHBhcnNlIikKaW5zdGFsbC5wYWNrYWdlcy5hdXRvKCJ0b29scyIpCmluc3RhbGwucGFja2FnZXMuYXV0bygiZHBseXIiKQppbnN0YWxsLnBhY2thZ2VzLmF1dG8oInRpZHlyIikKaW5zdGFsbC5wYWNrYWdlcy5hdXRvKCJuYW5pYXIiKQoKIyBUbyBnZXQgJ2RhdGEudGFibGUnIHdpdGggJ2Z3cml0ZScgdG8gYmUgYWJsZSB0byBkaXJlY3RseSB3cml0ZSBnemlwcGVkLWZpbGVzCiMgUmVmOiBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy80Mjc4ODQwMS9pcy1wb3NzaWJsZS10by11c2UtZndyaXRlLWZyb20tZGF0YS10YWJsZS13aXRoLWd6ZmlsZQojIGluc3RhbGwucGFja2FnZXMoImRhdGEudGFibGUiLCByZXBvcyA9ICJodHRwczovL1JkYXRhdGFibGUuZ2l0bGFiLmlvL2RhdGEudGFibGUiKQpsaWJyYXJ5KGRhdGEudGFibGUpCgppbnN0YWxsLnBhY2thZ2VzLmF1dG8oInRpZHl2ZXJzZSIpCmluc3RhbGwucGFja2FnZXMuYXV0bygia25pdHIiKQppbnN0YWxsLnBhY2thZ2VzLmF1dG8oIkRUIikKaW5zdGFsbC5wYWNrYWdlcy5hdXRvKCJNQVNTIikKIyBpbnN0YWxsLnBhY2thZ2VzLmF1dG8oIlNldXJhdCIpICMgbGF0ZXN0IHZlcnNpb24KCiMgSW5zdGFsbCB0aGUgZGV2dG9vbHMgcGFja2FnZSBmcm9tIEhhZGxleSBXaWNraGFtCmluc3RhbGwucGFja2FnZXMuYXV0bygnZGV2dG9vbHMnKQoKaW5zdGFsbC5wYWNrYWdlcy5hdXRvKCJoYXZlbiIpCmluc3RhbGwucGFja2FnZXMuYXV0bygic2psYWJlbGxlZCIpCmluc3RhbGwucGFja2FnZXMuYXV0bygic2pQbG90IikKaW5zdGFsbC5wYWNrYWdlcy5hdXRvKCJsYWJlbGxlZCIpCmluc3RhbGwucGFja2FnZXMuYXV0bygidGFibGVvbmUiKQoKaW5zdGFsbC5wYWNrYWdlcy5hdXRvKCJnZ3B1YnIiKQoKYGBgCgpXZSB3aWxsIGNyZWF0ZSBhIGRhdGVzdGFtcCBhbmQgZGVmaW5lIHRoZSBVdHJlY2h0IFNjaWVuY2UgUGFyayBDb2xvdXIgU2NoZW1lLgpgYGB7ciBTZXR0aW5nOiBDb2xvcnMsIGluY2x1ZGUgPSBGQUxTRX0KClRvZGF5ID0gZm9ybWF0KGFzLkRhdGUoYXMuUE9TSVhsdChTeXMudGltZSgpKSksICIlWSVtJWQiKQpUb2RheS5SZXBvcnQgPSBmb3JtYXQoYXMuRGF0ZShhcy5QT1NJWGx0KFN5cy50aW1lKCkpKSwgIiVBLCAlQiAlZCwgJVkiKQoKIyMjIFV0cmVjaHRTY2llbmNlUGFya0NvbG91cnNTY2hlbWUKIyMjCiMjIyBXZWJzaXRldG9jb252ZXJ0SEVYdG9SR0I6aHR0cDovL2hleC5jb2xvcnJycy5jb20uCiMjIyBGb3Jzb21lZnVuY3Rpb25zeW91c2hvdWxkZGl2aWRldGhlc2VudW1iZXJzYnkyNTUuCiMjIyAKIyMjCU5vLglDb2xvcgkJCSAgICAgIEhFWAkoUkdCKQkJCQkJCSAgICAgICAgICAgICAgQ0hSCQkgIE1BRi9JTkZPCiMjIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIyMJMQkgIHllbGxvdwkJCSAgICAjRkJCODIwICgyNTEsMTg0LDMyKQkJCQkgICAgICA9PgkxCQlvciAxLjA+SU5GTwojIyMJMgkgIGdvbGQJCQkgICAgICAjRjU5RDEwICgyNDUsMTU3LDE2KQkJCQkgICAgICA9PgkyCQkKIyMjCTMJICBzYWxtb24JCQkgICAgI0U1NTczOCAoMjI5LDg3LDU2KQkJCQkgICAgICA9PgkzCQlvciAwLjA1PE1BRjwwLjIgb3IgMC40PElORk88MC42CiMjIwk0CSAgZGFya3BpbmsJCSAgICAjREIwMDNGICgoMjE5LDAsNjMpCQkJCSAgICAgID0+CTQJCQojIyMJNQkgIGxpZ2h0cGluawkJICAgICNFMzU0OTMgKDIyNyw4NCwxNDcpCQkJCSAgICAgID0+CTUJCW9yIDAuODxJTkZPPDEuMAojIyMJNgkgIHBpbmsJCQkgICAgICAjRDUyNjdCICgyMTMsMzgsMTIzKQkJCQkgICAgICA9Pgk2CQkKIyMjCTcJICBoYXJkcGluawkJICAgICNDQzAwNzEgKDIwNCwwLDExMykJCQkJICAgICAgPT4JNwkJCiMjIwk4CSAgbGlnaHRwdXJwbGUJICAgICNBODQ0OEEgKDE2OCw2OCwxMzgpCQkJCSAgICAgID0+CTgJCQojIyMJOQkgIHB1cnBsZQkJCSAgICAjOUEzNDgwICgxNTQsNTIsMTI4KQkJCQkgICAgICA9Pgk5CQkKIyMjCTEwCWxhdmVuZGVsCQkgICAgIzhENUI5QSAoMTQxLDkxLDE1NCkJCQkJICAgICAgPT4JMTAJCQojIyMJMTEJYmx1ZXB1cnBsZQkJICAjNzA1Mjk2ICgxMTIsODIsMTUwKQkJCQkgICAgICA9PgkxMQkJCiMjIwkxMglwdXJwbGVibHVlCQkgICM2ODZBQTkgKDEwNCwxMDYsMTY5KQkJCSAgICAgID0+CTEyCQkKIyMjCTEzCWxpZ2h0cHVycGxlYmx1ZQkjNjE3M0FEICg5NywxMTUsMTczLzEwMSwxMjAsMTgwKQk9PgkxMwkJCiMjIwkxNAlzZWFibHVlCQkJICAgICM0QzgxQkYgKDc2LDEyOSwxOTEpCQkJCSAgICAgID0+CTE0CQkKIyMjCTE1CXNreWJsdWUJCQkgICAgIzJGOEJDOSAoNDcsMTM5LDIwMSkJCQkJICAgICAgPT4JMTUJCQojIyMJMTYJYXp1cmJsdWUJCSAgICAjMTI5MEQ5ICgxOCwxNDQsMjE3KQkJCQkgICAgICA9PgkxNgkJb3IgMC4wMTxNQUY8MC4wNSBvciAwLjI8SU5GTzwwLjQKIyMjCTE3CWxpZ2h0YXp1cmJsdWUJICAjMTM5NkQ4ICgxOSwxNTAsMjE2KQkJCQkgICAgICA9PgkxNwkJCiMjIwkxOAlncmVlbmJsdWUJCSAgICAjMTVBNkMxICgyMSwxNjYsMTkzKQkJCQkgICAgICA9PgkxOAkJCiMjIwkxOQlzZWF3ZWVkZ3JlZW4JICAjNUVCMTdGICg5NCwxNzcsMTI3KQkJCQkgICAgICA9PgkxOQkJCiMjIwkyMAl5ZWxsb3dncmVlbgkJICAjODZCODMzICgxMzQsMTg0LDUxKQkJCQkgICAgICA9PgkyMAkJCiMjIwkyMQlsaWdodG1vc3NncmVlbgkjQzVEMjIwICgxOTcsMjEwLDMyKQkJCQkgICAgICA9PgkyMQkJCiMjIwkyMgltb3NzZ3JlZW4JCSAgICAjOUZDMjI4ICgxNTksMTk0LDQwKQkJCQkgICAgICA9PgkyMgkJb3IgTUFGPjAuMjAgb3IgMC42PElORk88MC44CiMjIwkyMwlsaWdodGdyZWVuCSAgCSM3OEIxMTMgKDEyMCwxNzcsMTkpCQkJCSAgICAgID0+CTIzL1gKIyMjCTI0CWdyZWVuCQkJICAgICAgIzQ5QTAxRCAoNzMsMTYwLDI5KQkJCQkgICAgICA9PgkyNC9ZCiMjIwkyNQlncmV5CQkJICAgICAgIzU5NUE1QyAoODksOTAsOTIpCQkJCSAgICAgICAgPT4JMjUvWFkJb3IgTUFGPDAuMDEgb3IgMC4wPElORk88MC4yCiMjIwkyNglsaWdodGdyZXkJCSAgICAjQTJBM0E0CSgxNjIsMTYzLDE2NCkJCQkgICAgICA9PgkyNi9NVAojIyMKIyMjCUFERElUSU9OQUwgQ09MT1JTCiMjIwkyNwltaWRncmV5CQkJI0Q3RDhENwojIyMJMjgJdmVyeWxpZ2h0Z3JleQkjRUNFQ0VDIgojIyMJMjkJd2hpdGUJCQkjRkZGRkZGCiMjIwkzMAlibGFjawkJCSMwMDAwMDAKIyMjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKdWl0aG9mX2NvbG9yID0gYygiI0ZCQjgyMCIsIiNGNTlEMTAiLCIjRTU1NzM4IiwiI0RCMDAzRiIsIiNFMzU0OTMiLCIjRDUyNjdCIiwKICAgICAgICAgICAgICAgICAiI0NDMDA3MSIsIiNBODQ0OEEiLCIjOUEzNDgwIiwiIzhENUI5QSIsIiM3MDUyOTYiLCIjNjg2QUE5IiwKICAgICAgICAgICAgICAgICAiIzYxNzNBRCIsIiM0QzgxQkYiLCIjMkY4QkM5IiwiIzEyOTBEOSIsIiMxMzk2RDgiLCIjMTVBNkMxIiwKICAgICAgICAgICAgICAgICAiIzVFQjE3RiIsIiM4NkI4MzMiLCIjQzVEMjIwIiwiIzlGQzIyOCIsIiM3OEIxMTMiLCIjNDlBMDFEIiwKICAgICAgICAgICAgICAgICAiIzU5NUE1QyIsIiNBMkEzQTQiLCAiI0Q3RDhENyIsICIjRUNFQ0VDIiwgIiNGRkZGRkYiLCAiIzAwMDAwMCIpCgp1aXRob2ZfY29sb3JfbGVnZW5kID0gYygiI0ZCQjgyMCIsICIjRjU5RDEwIiwgIiNFNTU3MzgiLCAiI0RCMDAzRiIsICIjRTM1NDkzIiwKICAgICAgICAgICAgICAgICAgICAgICAgIiNENTI2N0IiLCAiI0NDMDA3MSIsICIjQTg0NDhBIiwgIiM5QTM0ODAiLCAiIzhENUI5QSIsCiAgICAgICAgICAgICAgICAgICAgICAgICIjNzA1Mjk2IiwgIiM2ODZBQTkiLCAiIzYxNzNBRCIsICIjNEM4MUJGIiwgIiMyRjhCQzkiLAogICAgICAgICAgICAgICAgICAgICAgICAiIzEyOTBEOSIsICIjMTM5NkQ4IiwgIiMxNUE2QzEiLCAiIzVFQjE3RiIsICIjODZCODMzIiwKICAgICAgICAgICAgICAgICAgICAgICAgIiNDNUQyMjAiLCAiIzlGQzIyOCIsICIjNzhCMTEzIiwgIiM0OUEwMUQiLCAiIzU5NUE1QyIsCiAgICAgICAgICAgICAgICAgICAgICAgICIjQTJBM0E0IiwgIiNEN0Q4RDciLCAiI0VDRUNFQyIsICIjRkZGRkZGIiwgIiMwMDAwMDAiKQoKI2dncGxvdDIgZGVmYXVsdCBjb2xvciBwYWxldHRlCmdnX2NvbG9yX2h1ZSA8LSBmdW5jdGlvbihuKSB7CiAgaHVlcyA9IHNlcSgxNSwgMzc1LCBsZW5ndGggPSBuICsgMSkKICBoY2woaCA9IGh1ZXMsIGwgPSA2NSwgYyA9IDEwMClbMTpuXQp9CgojIyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpgYGAKCgpgYGB7ciBBbmFseXNpcyBGdW5jdGlvbnN9CiMgRnVuY3Rpb24gdG8gZ3JlcCBkYXRhIGZyb20gZ2xtKCkvbG0oKQpHTE0uQ09OIDwtIGZ1bmN0aW9uKGZpdCwgREFUQVNFVCwgeF9uYW1lLCB5LCB2ZXJib3NlPWMoVFJVRSxGQUxTRSkpewogIGNhdCgiQW5hbHl6aW5nIGluIGRhdGFzZXQgJyIsIERBVEFTRVQgLCInIHRoZSBhc3NvY2lhdGlvbiBvZiAnIiwgeF9uYW1lICwiJyB3aXRoICciLCB5ICwiJyAuXG4iKQogIGlmIChucm93KHN1bW1hcnkoZml0KSRjb2VmZmljaWVudHMpID09IDEpIHsKICAgIG91dHB1dCA9IGMoREFUQVNFVCwgeF9uYW1lLCB5LCByZXAoTkEsOCkpCiAgICBjYXQoIk1vZGVsIG5vdCBmaXR0ZWQ7IHByb2JhYmx5IHNpbmd1bGFyLlxuIikKICB9ZWxzZSB7CiAgICBjYXQoIkNvbGxlY3RpbmcgZGF0YS5cblxuIikKICAgIGVmZmVjdHNpemUgPSBzdW1tYXJ5KGZpdCkkY29lZmZpY2llbnRzWzIsMV0KICAgIFNFID0gc3VtbWFyeShmaXQpJGNvZWZmaWNpZW50c1syLDJdCiAgICBPUmVmZmVjdCA9IGV4cChzdW1tYXJ5KGZpdCkkY29lZmZpY2llbnRzWzIsMV0pCiAgICBDSV9sb3cgPSBleHAoZWZmZWN0c2l6ZSAtIDEuOTYgKiBTRSkKICAgIENJX3VwID0gZXhwKGVmZmVjdHNpemUgKyAxLjk2ICogU0UpCiAgICB0dmFsdWUgPSBzdW1tYXJ5KGZpdCkkY29lZmZpY2llbnRzWzIsM10KICAgIHB2YWx1ZSA9IHN1bW1hcnkoZml0KSRjb2VmZmljaWVudHNbMiw0XQogICAgUiA9IHN1bW1hcnkoZml0KSRyLnNxdWFyZWQKICAgIFIuYWRqID0gc3VtbWFyeShmaXQpJGFkai5yLnNxdWFyZWQKICAgIHNhbXBsZV9zaXplID0gbnJvdyhtb2RlbC5mcmFtZShmaXQpKQogICAgQUVfTiA9IEFFREIuQ0VBLnNhbXBsZXNpemUKICAgIFBlcmNfTWlzcyA9IDEwMCAtICgoc2FtcGxlX3NpemUgKiAxMDApL0FFX04pCiAgICAKICAgIG91dHB1dCA9IGMoREFUQVNFVCwgeF9uYW1lLCB5LCBlZmZlY3RzaXplLCBTRSwgT1JlZmZlY3QsIENJX2xvdywgQ0lfdXAsIHR2YWx1ZSwgcHZhbHVlLCBSLCBSLmFkaiwgQUVfTiwgc2FtcGxlX3NpemUsIFBlcmNfTWlzcykKICAgIAogICAgaWYgKHZlcmJvc2UgPT0gVFJVRSkgewogICAgY2F0KCJXZSBoYXZlIGNvbGxlY3RlZCB0aGUgZm9sbG93aW5nIGFuZCBzdW1tYXJpemUgaXQgaW4gYW4gb2JqZWN0OlxuIikKICAgIGNhdCgiRGF0YXNldC4uLi4uLi4uLi4uLi4uLi4uLi46IiwgREFUQVNFVCwgIlxuIikKICAgIGNhdCgiU2NvcmUvRXhwb3N1cmUvYmlvbWFya2VyLi46IiwgeF9uYW1lLCAiXG4iKQogICAgY2F0KCJUcmFpdC9vdXRjb21lLi4uLi4uLi4uLi4uLjoiLCB5LCAiXG4iKQogICAgY2F0KCJFZmZlY3Qgc2l6ZS4uLi4uLi4uLi4uLi4uLjoiLCByb3VuZChlZmZlY3RzaXplLCA2KSwgIlxuIikKICAgIGNhdCgiU3RhbmRhcmQgZXJyb3IuLi4uLi4uLi4uLi46Iiwgcm91bmQoU0UsIDYpLCAiXG4iKQogICAgY2F0KCJPZGRzIHJhdGlvIChlZmZlY3Qgc2l6ZSkuLjoiLCByb3VuZChPUmVmZmVjdCwgMyksICJcbiIpCiAgICBjYXQoIkxvd2VyIDk1JSBDSS4uLi4uLi4uLi4uLi4uOiIsIHJvdW5kKENJX2xvdywgMyksICJcbiIpCiAgICBjYXQoIlVwcGVyIDk1JSBDSS4uLi4uLi4uLi4uLi4uOiIsIHJvdW5kKENJX3VwLCAzKSwgIlxuIikKICAgIGNhdCgiVC12YWx1ZS4uLi4uLi4uLi4uLi4uLi4uLi46Iiwgcm91bmQodHZhbHVlLCA2KSwgIlxuIikKICAgIGNhdCgiUC12YWx1ZS4uLi4uLi4uLi4uLi4uLi4uLi46Iiwgc2lnbmlmKHB2YWx1ZSwgOCksICJcbiIpCiAgICBjYXQoIlJeMi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uOiIsIHJvdW5kKFIsIDYpLCAiXG4iKQogICAgY2F0KCJBZGp1c3RlZCByXjIuLi4uLi4uLi4uLi4uLjoiLCByb3VuZChSLmFkaiwgNiksICJcbiIpCiAgICBjYXQoIlNhbXBsZSBzaXplIG9mIEFFIERCLi4uLi4uOiIsIEFFX04sICJcbiIpCiAgICBjYXQoIlNhbXBsZSBzaXplIG9mIG1vZGVsLi4uLi4uOiIsIHNhbXBsZV9zaXplLCAiXG4iKQogICAgY2F0KCJNaXNzaW5nIGRhdGEgJS4uLi4uLi4uLi4uLjoiLCByb3VuZChQZXJjX01pc3MsIDYpLCAiXG4iKQogICAgfSBlbHNlIHsKICAgICAgY2F0KCJDb2xsZWN0aW5nIGRhdGEgaW4gc3VtbWFyeSBvYmplY3QuXG4iKQogICAgfQogIH0KICByZXR1cm4ob3V0cHV0KQogIHByaW50KG91dHB1dCkKfQoKR0xNLkJJTiA8LSBmdW5jdGlvbihmaXQsIERBVEFTRVQsIHhfbmFtZSwgeSwgdmVyYm9zZT1jKFRSVUUsRkFMU0UpKXsKICBjYXQoIkFuYWx5emluZyBpbiBkYXRhc2V0ICciLCBEQVRBU0VUICwiJyB0aGUgYXNzb2NpYXRpb24gb2YgJyIsIHhfbmFtZSAsIicgd2l0aCAnIiwgeSAsIicgLi4uXG4iKQogIGlmIChucm93KHN1bW1hcnkoZml0KSRjb2VmZmljaWVudHMpID09IDEpIHsKICAgIG91dHB1dCA9IGMoREFUQVNFVCwgeF9uYW1lLCB5LCByZXAoTkEsOSkpCiAgICBjYXQoIk1vZGVsIG5vdCBmaXR0ZWQ7IHByb2JhYmx5IHNpbmd1bGFyLlxuIikKICB9ZWxzZSB7CiAgICBjYXQoIkNvbGxlY3RpbmcgZGF0YS4uLlxuIikKICAgIGVmZmVjdHNpemUgPSBzdW1tYXJ5KGZpdCkkY29lZmZpY2llbnRzWzIsMV0KICAgIFNFID0gc3VtbWFyeShmaXQpJGNvZWZmaWNpZW50c1syLDJdCiAgICBPUmVmZmVjdCA9IGV4cChzdW1tYXJ5KGZpdCkkY29lZmZpY2llbnRzWzIsMV0pCiAgICBDSV9sb3cgPSBleHAoZWZmZWN0c2l6ZSAtIDEuOTYgKiBTRSkKICAgIENJX3VwID0gZXhwKGVmZmVjdHNpemUgKyAxLjk2ICogU0UpCiAgICB6dmFsdWUgPSBzdW1tYXJ5KGZpdCkkY29lZmZpY2llbnRzWzIsM10KICAgIHB2YWx1ZSA9IHN1bW1hcnkoZml0KSRjb2VmZmljaWVudHNbMiw0XQogICAgZGV2IDwtIGZpdCRkZXZpYW5jZQogICAgbnVsbERldiA8LSBmaXQkbnVsbC5kZXZpYW5jZQogICAgbW9kZWxOIDwtIGxlbmd0aChmaXQkZml0dGVkLnZhbHVlcykKICAgIFIubCA8LSAxIC0gZGV2IC8gbnVsbERldgogICAgUi5jcyA8LSAxIC0gZXhwKC0obnVsbERldiAtIGRldikgLyBtb2RlbE4pCiAgICBSLm4gPC0gUi5jcyAvICgxIC0gKGV4cCgtbnVsbERldi9tb2RlbE4pKSkKICAgIHNhbXBsZV9zaXplID0gbnJvdyhtb2RlbC5mcmFtZShmaXQpKQogICAgQUVfTiA9IEFFREIuQ0VBLnNhbXBsZXNpemUKICAgIFBlcmNfTWlzcyA9IDEwMCAtICgoc2FtcGxlX3NpemUgKiAxMDApL0FFX04pCiAgICAKICAgIG91dHB1dCA9IGMoREFUQVNFVCwgeF9uYW1lLCB5LCBlZmZlY3RzaXplLCBTRSwgT1JlZmZlY3QsIENJX2xvdywgQ0lfdXAsIHp2YWx1ZSwgcHZhbHVlLCBSLmwsIFIuY3MsIFIubiwgQUVfTiwgc2FtcGxlX3NpemUsIFBlcmNfTWlzcykKICAgIGlmICh2ZXJib3NlID09IFRSVUUpIHsKICAgIGNhdCgiV2UgaGF2ZSBjb2xsZWN0ZWQgdGhlIGZvbGxvd2luZyBhbmQgc3VtbWFyaXplIGl0IGluIGFuIG9iamVjdDpcbiIpCiAgICBjYXQoIkRhdGFzZXQuLi4uLi4uLi4uLi4uLi4uLi4uOiIsIERBVEFTRVQsICJcbiIpCiAgICBjYXQoIlNjb3JlL0V4cG9zdXJlL2Jpb21hcmtlci4uOiIsIHhfbmFtZSwgIlxuIikKICAgIGNhdCgiVHJhaXQvb3V0Y29tZS4uLi4uLi4uLi4uLi46IiwgeSwgIlxuIikKICAgIGNhdCgiRWZmZWN0IHNpemUuLi4uLi4uLi4uLi4uLi46Iiwgcm91bmQoZWZmZWN0c2l6ZSwgNiksICJcbiIpCiAgICBjYXQoIlN0YW5kYXJkIGVycm9yLi4uLi4uLi4uLi4uOiIsIHJvdW5kKFNFLCA2KSwgIlxuIikKICAgIGNhdCgiT2RkcyByYXRpbyAoZWZmZWN0IHNpemUpLi46Iiwgcm91bmQoT1JlZmZlY3QsIDMpLCAiXG4iKQogICAgY2F0KCJMb3dlciA5NSUgQ0kuLi4uLi4uLi4uLi4uLjoiLCByb3VuZChDSV9sb3csIDMpLCAiXG4iKQogICAgY2F0KCJVcHBlciA5NSUgQ0kuLi4uLi4uLi4uLi4uLjoiLCByb3VuZChDSV91cCwgMyksICJcbiIpCiAgICBjYXQoIlotdmFsdWUuLi4uLi4uLi4uLi4uLi4uLi4uOiIsIHJvdW5kKHp2YWx1ZSwgNiksICJcbiIpCiAgICBjYXQoIlAtdmFsdWUuLi4uLi4uLi4uLi4uLi4uLi4uOiIsIHNpZ25pZihwdmFsdWUsIDgpLCAiXG4iKQogICAgY2F0KCJIb3NtZXIgYW5kIExlbWVzaG93IHJeMi4uLjoiLCByb3VuZChSLmwsIDYpLCAiXG4iKQogICAgY2F0KCJDb3ggYW5kIFNuZWxsIHJeMi4uLi4uLi4uLjoiLCByb3VuZChSLmNzLCA2KSwgIlxuIikKICAgIGNhdCgiTmFnZWxrZXJrZSdzIHBzZXVkbyByXjIuLi46Iiwgcm91bmQoUi5uLCA2KSwgIlxuIikKICAgIGNhdCgiU2FtcGxlIHNpemUgb2YgQUUgREIuLi4uLi46IiwgQUVfTiwgIlxuIikKICAgIGNhdCgiU2FtcGxlIHNpemUgb2YgbW9kZWwuLi4uLi46Iiwgc2FtcGxlX3NpemUsICJcbiIpCiAgICBjYXQoIk1pc3NpbmcgZGF0YSAlLi4uLi4uLi4uLi4uOiIsIHJvdW5kKFBlcmNfTWlzcywgNiksICJcbiIpCiAgICB9IGVsc2UgewogICAgICBjYXQoIkNvbGxlY3RpbmcgZGF0YSBpbiBzdW1tYXJ5IG9iamVjdC5cbiIpCiAgICB9CiAgfQogIHJldHVybihvdXRwdXQpCiAgcHJpbnQob3V0cHV0KQp9CmBgYAoKCiMgQmFja2dyb3VuZAoKVXNpbmcgYSBNZW5kZWxpYW4gUmFuZG9taXphdGlvbiBhcHByb2FjaCwgd2UgcmVjZW50bHkgZXhhbWluZWQgYXNzb2NpYXRpb25zIGJldHdlZW4gdGhlIGNpcmN1bGF0aW5nIGxldmVscyBvZiA0MSBjeXRva2luZXMgYW5kIGdyb3d0aCBmYWN0b3JzIGFuZCB0aGUgcmlzayBvZiBzdHJva2UgaW4gdGhlIE1FR0FTVFJPS0UgR1dBUyBkYXRhc2V0ICg2NywwMDAgc3Ryb2tlIGNhc2VzIGFuZCA0NTAsMDAwIGNvbnRyb2xzKSBhbmQgZm91bmQgTW9ub2N5dGUgY2hlbW9hdHRyYWN0YW50IHByb3RlaW4tMSAoTUNQLTEpIGFzIHRoZSBjeXRva2luZSBzaG93aW5nIHRoZSBzdHJvbmdlc3QgYXNzb2NpYXRpb24gd2l0aCBzdHJva2UsIHBhcnRpY3VsYXJseSBsYXJnZSBhcnRlcnkgYW5kIGNhcmRpb2VtYm9saWMgc3Ryb2tlIChHZW9yZ2FraXMgZXQgYWwuLCAyMDE5YSkuIEdlbmV0aWNhbGx5IGVsZXZhdGVkIE1DUC0xIGxldmVscyB3ZXJlIGFsc28gYXNzb2NpYXRlZCB3aXRoIGEgaGlnaGVyIHJpc2sgb2YgY29yb25hcnkgYXJ0ZXJ5IGRpc2Vhc2UgYW5kIG15b2NhcmRpYWwgaW5mYXJjdGlvbiAoR2Vvcmdha2lzIGV0IGFsLiwgMjAxOWEpLiBGdXJ0aGVyLCBpbiBhIG1ldGEtYW5hbHlzaXMgb2YgNiBvYnNlcnZhdGlvbmFsIHBvcHVsYXRpb24tYmFzZWQgb2YgbG9uZ2l0dWRpbmFsIGNvaG9ydCBzdHVkaWVzIHdlIHJlY2VudGx5IHNob3dlZCB0aGF0IGJhc2VsaW5lIGxldmVscyBvZiBNQ1AtMSB3ZXJlIGFzc29jaWF0ZWQgd2l0aCBhIGhpZ2hlciByaXNrIG9mIGlzY2hlbWljIHN0cm9rZSBvdmVyIGZvbGxvdy11cCAoR2Vvcmdha2lzIGV0IGFsLiwgMjAxOWIpLgpXaGlsZSB0aGVzZSBkYXRhIHN1Z2dlc3QgYSBjZW50cmFsIHJvbGUgb2YgTUNQLTEgaW4gdGhlIHBhdGhvZ2VuZXNpcyBvZiBhdGhlcm9zY2xlcm9zaXMsIGl0IHJlbWFpbnMgdW5rbm93biBpZiBNQ1AtMSBsZXZlbHMgaW4gdGhlIGJsb29kIHJlYWxseSByZWZsZWN0IE1DUC0xIGFjdGl2aXR5LiBNQ1AtMSBpcyBleHByZXNzZWQgaW4gdGhlIGF0aGVyb3NjbGVyb3RpYyBwbGFxdWUgYW5kIGF0dHJhY3RzIG1vbm9jeXRlcyBpbiB0aGUgc3ViZW5kb3RoZWxpYWwgc3BhY2UgKE5lbGtlbiBldCBhbC4sIDE5OTE7IFBhcGFkb3BvdWxvdSBldCBhbC4sIDIwMDg7IFRha2V5YSBldCBhbC4sIDE5OTM7IFdpbGNveCBldCBhbC4sIDE5OTQpLiBUaHVzLCBNQ1AtMSBsZXZlbHMgaW4gdGhlIHBsYXF1ZSBtaWdodCBtb3JlIHN0cm9uZ2x5IHJlZmxlY3QgTUNQLTEgc2lnbmFsaW5nLiBIb3dldmVyLCBpdCByZW1haW5zIHVua25vd24gaWYgTUNQLTEgcGxhcXVlIGxldmVscyBhc3NvY2lhdGUgd2l0aCBwbGFxdWUgdnVsbmVyYWJpbGl0eSBvciByaXNrIG9mIGNhcmRpb3Zhc2N1bGFyIGV2ZW50cy4KCgojIyBPYmplY3RpdmVzCgpBZ2FpbnN0IHRoaXMgYmFja2dyb3VuZCB3ZSBub3cgYWltIHRvIG1ha2UgdXNlIG9mIHRoZSBkYXRhIGZyb20gQXRoZXJvLUV4cHJlc3MgQmlvYmFuayBTdHVkeSB0byBleHBsb3JlIHRoZSBhc3NvY2lhdGlvbnMgb2YgTUNQLTEgcHJvdGVpbiBsZXZlbHMgaW4gdGhlIGF0aGVyb3NjbGVyb3RpYyBwbGFxdWVzIGZyb20gcGF0aWVudHMgdW5kZXJnb2luZyBjYXJvdGlkIGVuZGFydGVyZWN0b215IHdpdGggcGhlbm90eXBlcyBvZiBwbGFxdWUgdnVsbmVyYWJpbGl0eSBhbmQgc2Vjb25kYXJ5IHZhc2N1bGFyIGV2ZW50cyBvdmVyIGEgZm9sbG93LXVwIG9mIHRocmVlIHllYXJzLgoKCiMjIE1ldGhvZHMKCipCbG9vZCoKCk9MSU5LLXBsYXRmb3JtIAoKLSBJTDY6IEludGVybGV1a2luIDYuIEVudHJleiBHZW5lOiAzNTY5LiBPTElOSywgcGxhc21hIDwhLS0gQmVuZGVyIE1lZFN5c3RlbXM7IGNhdC5uci46IEJNUzgxMEZGLiBSZWNhbGN1bGF0ZWQgRkFDUy4gW3BnL21MXSAtLT4KLSBNQ1AxOiBNb25vY3l0ZSBjaGVtb3RhY3RpYyBwcm90ZWluIDEsIE1DUC0xIChDaGVtb2tpbmUgKEMtQyBtb3RpZikgbGlnYW5kIDIsIENDTDIpLiBFbnRyZXogR2VuZTogNjM0Ny4gT0xJTkssIHBsYXNtYSA8IS0tIE1lYXN1cmVkIGF0IHRoZSBXS1ouIFJlY2FsY3VsYXRlZCBMdW1pbmV4LiBbcGcvbUxdIC0tPgoKPiBUSEVTRSBEQVRBIEFSRSBOT1QgQVZBSUxBQkxFIFlFVAoKKlBsYXF1ZSoKCkx1bWluZXgtcGxhdGZvcm0sIG1lYXN1cmVkIGJ5IEx1bWluZXgKCi0gTUNQMTogTW9ub2N5dGUgY2hlbW90YWN0aWMgcHJvdGVpbiAxIChhLmsuYS4gQ0NMMjsgRW50cmV6IEdlbmU6IDYzNDcpIGNvbmNlbnRyYXRpb24gaW4gcGxhcXVlIFtwZy91Z10uIE1lYXN1cmVkIGluIHR3byBleHBlcmltZW50cywgdmFyaWFibGVzIGBNQ1AxYCBhbmQgYE1DUDFfcGdfdWdfMjAxNWAuIFRoZSBsYXR0ZXIgd2FzIGNvcnJlY3RlZCBmb3IgcGxhcXVlIHRvdGFsIHByb3RlaW4gY29uY2VudHJhdGlvbi4KLSBJTDY6IEludGVybGV1a2luZyA2IChJTDY7IEVudHJleiBHZW5lOiAzNTY5KSBjb25jZW50cmF0aW9uIGluIHBsYXF1ZSBbcGcvdWddLgotIElMNlI6IEludGVybGV1a2luZyA2IHJlY2VwdG9yIChJTDZSOyBFbnRyZXogR2VuZTogMzU3MCkgY29uY2VudHJhdGlvbiBpbiBwbGFxdWUgW3BnL3VnXS4KCkZBQ1MgcGxhdGZvcm0KCi0gSUw2OiBJbnRlcmxldWtpbiA2LiBFbnRyZXogR2VuZTogMzU2OS4gQmVuZGVyIE1lZFN5c3RlbXM7IGNhdC5uci46IEJNUzgxMEZGLiBSZWNhbGN1bGF0ZWQgRkFDUy4gW3BnL21MXQoKCiMgTG9hZGluZyBkYXRhCgojIyBDbGluaWNhbCBkYXRhCgpMb2FkaW5nIEF0aGVyby1FeHByZXNzIGNsaW5pY2FsIGRhdGEuCmBgYHtyIExvYWRBRURCfQpyZXF1aXJlKGhhdmVuKQoKIyBBRURCIDwtIGhhdmVuOjpyZWFkX3NhdihwYXN0ZTAoQUVEQl9sb2MsICIvMjAxOS0zTkVXX0F0aGVyb0V4cHJlc3NEYXRhYmFzZV9TY2llbnRpZmljQUVfMDIwNzIwMTlfSUNfYWRkZWQuc2F2IikpCkFFREJyYXcgPC0gaGF2ZW46OnJlYWRfc2F2KHBhc3RlMChBRURCX2xvYywgIi8yMDIwXzFfTkVXX0F0aGVyb0V4cHJlc3NEYXRhYmFzZV9TY2llbnRpZmljQUVfMTYtMDMtMjAyMC5zYXYiKSkKCmhlYWQoQUVEQnJhdykKYGBgCgojIyBQbGFxdWUgcHJvdGVpbiBkYXRhCkxvYWRpbmcgQXRoZXJvLUV4cHJlc3MgcGxhcXVlIHByb3RlaW4gbWVhc3VyZW1lbnRzIGZyb20gMjAxNS4KYGBge3IgTG9hZEFFIFBsYXF1ZVByb3RlaW5zfQpsaWJyYXJ5KG9wZW54bHN4KQpBRURCX1Byb3RlaW5fMjAxNSA8LSBvcGVueGxzeDo6cmVhZC54bHN4KHBhc3RlMChBRURCX2xvYywgIi9fQUVfUHJvdGVpbnMvQ3l0b2tpbmVzX2FuZF9jaGVtb2tpbmVzXzIwMTUvMjAyMDA2MjlfTVBDRjAxNS0wMDI0Lnhsc3giKSwgc2hlZXQgPSAiZm9yX1NQU1NfUiIpCgpuYW1lcyhBRURCX1Byb3RlaW5fMjAxNSlbbmFtZXMoQUVEQl9Qcm90ZWluXzIwMTUpID09ICJTYW1wbGVJRCJdIDwtICJTVFVEWV9OVU1CRVIiCgpoZWFkKEFFREJfUHJvdGVpbl8yMDE1KQoKYGBgCgojIyBQbGFzbWEgcHJvdGVpbiBkYXRhCkxvYWRpbmcgQXRoZXJvLUV4cHJlc3MgcGxhc21hIHByb3RlaW4gbWVhc3VyZW1lbnRzIGZyb20gMjAxOS8yMDIwIGFzIG1lYXN1cmVkIHVzaW5nIE9MSU5LLgpgYGB7ciBMb2FkQUUgUGxhc21hUHJvdGVpbnMgT0xJTkt9CmxpYnJhcnkob3Blbnhsc3gpCkFFREJfUGxhc21hUHJvdGVpbl9PTElOS19DVkQycmF3IDwtIG9wZW54bHN4OjpyZWFkLnhsc3gocGFzdGUwKEFFREJfbG9jLCAiL19BRV9PTElOSy8yMDIwMDcwNl9BdGhlcm9FeHByZXNzX09saW5rRGF0YV9mb3JSLnhsc3giKSwgc2hlZXQgPSAiQ1ZEMl9mb3JSIikKQUVEQl9QbGFzbWFQcm90ZWluX09MSU5LX0NWRDNyYXcgPC0gb3Blbnhsc3g6OnJlYWQueGxzeChwYXN0ZTAoQUVEQl9sb2MsICIvX0FFX09MSU5LLzIwMjAwNzA2X0F0aGVyb0V4cHJlc3NfT2xpbmtEYXRhX2ZvclIueGxzeCIpLCBzaGVldCA9ICJDVkQzX2ZvclIiKQpBRURCX1BsYXNtYVByb3RlaW5fT0xJTktfQ01yYXcgPC0gb3Blbnhsc3g6OnJlYWQueGxzeChwYXN0ZTAoQUVEQl9sb2MsICIvX0FFX09MSU5LLzIwMjAwNzA2X0F0aGVyb0V4cHJlc3NfT2xpbmtEYXRhX2ZvclIueGxzeCIpLCBzaGVldCA9ICJDTV9mb3JSIikKCkFFREJfUGxhc21hUHJvdGVpbl9PTElOS19Qcm90ZWluSW5mbyA8LSBvcGVueGxzeDo6cmVhZC54bHN4KHBhc3RlMChBRURCX2xvYywgIi9fQUVfT0xJTksvMjAyMDA3MDZfQXRoZXJvRXhwcmVzc19PbGlua0RhdGFfZm9yUi54bHN4IiksIHNoZWV0ID0gIlByb3RlaW5JbmZvIikKCkFFREJfUGxhc21hUHJvdGVpbl9PTElOS19DVkQyIDwtIEFFREJfUGxhc21hUHJvdGVpbl9PTElOS19DVkQycmF3ICU+JSBmaWx0ZXIoUUNfV2FybmluZ19DVkQyID09ICJQYXNzIikKQUVEQl9QbGFzbWFQcm90ZWluX09MSU5LX0NWRDMgPC0gQUVEQl9QbGFzbWFQcm90ZWluX09MSU5LX0NWRDNyYXcgJT4lIGZpbHRlcihRQ19XYXJuaW5nX0NWRDMgPT0gIlBhc3MiKQpBRURCX1BsYXNtYVByb3RlaW5fT0xJTktfQ00gPC0gQUVEQl9QbGFzbWFQcm90ZWluX09MSU5LX0NNcmF3ICU+JSBmaWx0ZXIoUUNfV2FybmluZ19DTSA9PSAiUGFzcyIpCgp0YWJsZShBRURCX1BsYXNtYVByb3RlaW5fT0xJTktfQ1ZEMnJhdyRRQ19XYXJuaW5nX0NWRDIpCnRhYmxlKEFFREJfUGxhc21hUHJvdGVpbl9PTElOS19DVkQyJFFDX1dhcm5pbmdfQ1ZEMikKCnRhYmxlKEFFREJfUGxhc21hUHJvdGVpbl9PTElOS19DVkQzcmF3JFFDX1dhcm5pbmdfQ1ZEMykKdGFibGUoQUVEQl9QbGFzbWFQcm90ZWluX09MSU5LX0NWRDMkUUNfV2FybmluZ19DVkQzKQoKdGFibGUoQUVEQl9QbGFzbWFQcm90ZWluX09MSU5LX0NNcmF3JFFDX1dhcm5pbmdfQ00pCnRhYmxlKEFFREJfUGxhc21hUHJvdGVpbl9PTElOS19DTSRRQ19XYXJuaW5nX0NNKQoKQUVEQl9QbGFzbWFQcm90ZWluX09MSU5LX0NWRDIkUGxhdGVfSUQgPC0gTlVMTApBRURCX1BsYXNtYVByb3RlaW5fT0xJTktfQ1ZEMyRQbGF0ZV9JRCA8LSBOVUxMCkFFREJfUGxhc21hUHJvdGVpbl9PTElOS19DVkQyJE9yZGVyIDwtIE5VTEwKQUVEQl9QbGFzbWFQcm90ZWluX09MSU5LX0NWRDMkT3JkZXIgPC0gTlVMTApBRURCX1BsYXNtYVByb3RlaW5fT0xJTktfQ00kT3JkZXIgPC0gTlVMTAoKdGVtcCA8LSBtZXJnZShBRURCX1BsYXNtYVByb3RlaW5fT0xJTktfQ1ZEMiwgQUVEQl9QbGFzbWFQcm90ZWluX09MSU5LX0NWRDMsIGJ5LnggPSAiU1RVRFlfTlVNQkVSIiwgYnkueSA9ICJTVFVEWV9OVU1CRVIiLAogICAgICAgICAgICAgIHNvcnQgPSBGQUxTRSwgYWxsLnggPSBUUlVFKQoKQUVEQl9QbGFzbWFQcm90ZWluX09MSU5LIDwtIG1lcmdlKHRlbXAsIEFFREJfUGxhc21hUHJvdGVpbl9PTElOS19DTSwgYnkueCA9ICJTVFVEWV9OVU1CRVIiLCBieS55ID0gIlNUVURZX05VTUJFUiIsCiAgICAgICAgICAgICAgc29ydCA9IEZBTFNFLCBhbGwueCA9IFRSVUUpCgpBRURCX1BsYXNtYVByb3RlaW5fT0xJTkskUGxhdGVfSURbQUVEQl9QbGFzbWFQcm90ZWluX09MSU5LJFBsYXRlX0lEID09ICJFUkFfVU1DX0FFX2NhcmRpb21ldGFib2xpY19wbHQxXzI5LTEwLTE5Il0gPC0gInBsYXRlIDEiCkFFREJfUGxhc21hUHJvdGVpbl9PTElOSyRQbGF0ZV9JRFtBRURCX1BsYXNtYVByb3RlaW5fT0xJTkskUGxhdGVfSUQgPT0gIkVSQV9VTUNfQUVfQ2FyZGlvbWV0YWJvbGljX3BsdDIiXSA8LSAicGxhdGUgMiIKQUVEQl9QbGFzbWFQcm90ZWluX09MSU5LJFBsYXRlX0lEW0FFREJfUGxhc21hUHJvdGVpbl9PTElOSyRQbGF0ZV9JRCA9PSAiRVJBX1VNQ19BRV9DYXJkaW9tZXRhYm9saWNfcGx0MyJdIDwtICJwbGF0ZSAzIgpBRURCX1BsYXNtYVByb3RlaW5fT0xJTkskUGxhdGVfSURbQUVEQl9QbGFzbWFQcm90ZWluX09MSU5LJFBsYXRlX0lEID09ICJFUkFfVU1DX0FFX0NhcmRpb21ldGFib2xpY19wbHQ0Il0gPC0gInBsYXRlIDQiCkFFREJfUGxhc21hUHJvdGVpbl9PTElOSyRQbGF0ZV9JRFtBRURCX1BsYXNtYVByb3RlaW5fT0xJTkskUGxhdGVfSUQgPT0gIkVSQV9VTUNfQUVfQ2FyZGlvbWV0YWJvbGljX3BsdDUiXSA8LSAicGxhdGUgNSIKQUVEQl9QbGFzbWFQcm90ZWluX09MSU5LJFBsYXRlX0lEW0FFREJfUGxhc21hUHJvdGVpbl9PTElOSyRQbGF0ZV9JRCA9PSAiRVJBX1VNQ19BRV9DYXJkaW9tZXRhYm9saWNfcGw2Il0gPC0gInBsYXRlIDYiCkFFREJfUGxhc21hUHJvdGVpbl9PTElOSyRQbGF0ZV9JRFtBRURCX1BsYXNtYVByb3RlaW5fT0xJTkskUGxhdGVfSUQgPT0gIlNNQVJUX0NNX3BsdDEwIl0gPC0gInBsYXRlIDEwIgpBRURCX1BsYXNtYVByb3RlaW5fT0xJTkskUGxhdGVfSURbQUVEQl9QbGFzbWFQcm90ZWluX09MSU5LJFBsYXRlX0lEID09ICJTTUFSVF9wbHQxMV9DTSJdIDwtICJwbGF0ZSAxMSIKCm9saW5rX3Byb3RlaW5zIDwtIGMoIkJNUDYiLCAiQU5HUFQxIiwgIkFETSIsICJDRDQwTCIsICJTTEFNRjciLCAiUEdGIiwgIkFEQU1UUzEzIiwgIkJPQyIsICJJTDRSQSIsICJTUkMiLCAiSUwxcmEiLCAiSUw2IiwgIlRORlJTRjEwQSIsICJTVEs0IiwgIklEVUEiLCAKICAgICAgICAgICAgICAgICAgICAiVE5GUlNGMTFBIiwgIlBBUjEiLCAiVFJBSUxSMiIsICJQUlNTMjciLCAiVElFMiIsICJURiIsICJJTDFSTDIiLCAiUERHRl9zdWJ1bml0X0IiLCAiSUwyNyIsICJJTDE3RCIsICJDWENMMSIsICJMT1gxIiwgIkdhbDkiLCAiR0lGIiwgIlNDRiIsIAogICAgICAgICAgICAgICAgICAgICJJTDE4IiwgIkZHRjIxIiwgIlBJZ1IiLCAiUkFHRSIsICJTT0QyIiwgIkNUUkMiLCAiRkdGMjMiLCAiU1BPTjIiLCAiR0giLCAiRlMiLCAiR0xPMSIsICJDRDg0IiwgIlBBUFBBIiwgIlNFUlBJTkExMiIsICJSRU4iLCAiREVDUjEiLCAKICAgICAgICAgICAgICAgICAgICAiTUVSVEsiLCAiS0lNMSIsICJUSEJTMiIsICJUTSIsICJWU0lHMiIsICJBTUJQIiwgIlBSRUxQIiwgIkhPMSIsICJYQ0wxIiwgIklMMTYiLCAiU09SVDEiLCAiQ0VBQ0FNOCIsICJQVFgzIiwgIlBTR0wxIiwgIkNDTDE3IiwgIkNDTDMiLCAKICAgICAgICAgICAgICAgICAgICAiTU1QNyIsICJJZ0dfRmNfcmVjZXB0b3JfSUliIiwgIklUR0IxQlAyIiwgIkRDTiIsICJEa2sxIiwgIkxQTCIsICJQUlNTOCIsICJBR1JQIiwgIkhCRUdGIiwgIkdERjIiLCAiRkFCUDIiLCAiVEhQTyIsICJNQVJDTyIsICJHVCIsICJCTlAiLCAKICAgICAgICAgICAgICAgICAgICAiTU1QMTIiLCAiQUNFMiIsICJQREwyIiwgIkNUU0wxIiwgImhPU0NBUiIsICJUTkZSU0YxM0IiLCAiVEdNMiIsICJMRVAiLCAiQ0E1QSIsICJIU1BfMjciLCAiQ0Q0IiwgIk5FTU8iLCAiVkVHRkQiLCAiUEFSUDEiLCAiSEFPWDEiLCAKICAgICAgICAgICAgICAgICAgICAiVE5GUlNGMTQiLCAiTERMX3JlY2VwdG9yIiwgIklUR0IyIiwgIklMMTdSQSIsICJUTkZSMiIsICJNTVA5IiwgIkVQSEI0IiwgIklMMlJBIiwgIk9QRyIsICJBTENBTSIsICJURkYzIiwgIlNFTFAiLCAiQ1NUQiIsICJNQ1AxIiwgIkNEMTYzIiwgCiAgICAgICAgICAgICAgICAgICAgIkdhbDMiLCAiR1JOIiwgIk5UcHJvQk5QIiwgIkJMTV9oeWRyb2xhc2UiLCAiUExDIiwgIkxUQlIiLCAiTm90Y2hfMyIsICJUSU1QNCIsICJDTlROMSIsICJDREg1IiwgIlRMVDIiLCAiRkFCUDQiLCAiVEZQSSIsICJQQUkiLCAiQ0NMMjQiLCAKICAgICAgICAgICAgICAgICAgICAiVFIiLCAiVE5GUlNGMTBDIiwgIkdERjE1IiwgIlNFTEUiLCAiQVpVMSIsICJETEsxIiwgIlNQT04xIiwgIk1QTyIsICJDWENMMTYiLCAiSUw2UkEiLCAiUkVUTiIsICJJR0ZCUDEiLCAiQ0hJVDEiLCAiVFJBUCIsICJHUDYiLCAiUFNQRCIsIAogICAgICAgICAgICAgICAgICAgICJQSTMiLCAiRXBDQU0iLCAiQVBOIiwgIkFYTCIsICJJTDFSVDEiLCAiTU1QMiIsICJGQVMiLCAiTUIiLCAiVE5GU0YxM0IiLCAiUFJUTjMiLCAiUENTSzkiLCAiVVBBUiIsICJPUE4iLCAiQ1RTRCIsICJQR0xZUlAxIiwgIkNQQTEiLCAiSkFNQSIsIAogICAgICAgICAgICAgICAgICAgICJHYWw0IiwgIklMMVJUMiIsICJTSFBTMSIsICJDQ0wxNSIsICJDQVNQMyIsICJ1UEEiLCAiQ1BCMSIsICJDSEkzTDEiLCAiU1QyIiwgInRQQSIsICJTQ0dCM0EyIiwgIkVHRlIiLCAiSUdGQlA3IiwgIkNEOTMiLCAiSUwxOEJQIiwgIkNPTDFBMSIsIAogICAgICAgICAgICAgICAgICAgICJQT04zIiwgIkNUU1oiLCAiTU1QMyIsICJSQVJSRVMyIiwgIklDQU0yIiwgIktMSzYiLCAiUERHRl9zdWJ1bml0X0EiLCAiVE5GUjEiLCAiSUdGQlAyIiwgInZXRiIsICJQRUNBTTEiLCAiTUVQRSIsICJDQ0wxNiIsICJQUkNQIiwgIkNBMSIsIAogICAgICAgICAgICAgICAgICAgICJJQ0FNMSIsICJDSEwxIiwgIlRHRkJJIiwgIkVORyIsICJQTFRQIiwgIlNFUlBJTkE3IiwgIklHRkJQMyIsICJDUjIiLCAiU0VSUElOQTUiLCAiRkNHUjNCIiwgIklHRkJQNiIsICJDREgxIiwgIkNDTDUiLCAiQ0NMMTQiLCAiR05MWSIsIAogICAgICAgICAgICAgICAgICAgICJOT1RDSDEiLCAiUEFNIiwgIlBST0MiLCAiQ1NUMyIsICJOQ0FNMSIsICJQQ09MQ0UiLCAiTElMUkIxIiwgIk1FVCIsICJMVEJQMiIsICJJTDdSIiwgIlZDQU0xIiwgIlNFTEwiLCAiRjExIiwgIkNPTVAiLCAiQ0E0IiwgIlBUUFJTIiwgCiAgICAgICAgICAgICAgICAgICAgIk1CTDIiLCAiVElNUDEiLCAiQU5HUFRMMyIsICJSRUczQSIsICJTT0QxIiwgIkNENDYiLCAiSVRHQU0iLCAiVE5DIiwgIk5JRDEiLCAiQ0ZIUjUiLCAiU1BBUkNMMSIsICJQTFhOQjIiLCAiTUVHRjkiLCAiQU5HIiwgIlNUNkdBTDEiLCAKICAgICAgICAgICAgICAgICAgICAiRFBQNCIsICJSRUcxQSIsICJRUENUIiwgIkZDTjIiLCAiRkVUVUIiLCAiQ0VTMSIsICJDUlRBQzEiLCAiVENOMiIsICJQUlNTMiIsICJJQ0FNMyIsICJTQUE0IiwgIkNORFAxIiwgIkZDR1IyQSIsICJOUlAxIiwgIkVGRU1QMSIsICJUSU1ENCIsIAogICAgICAgICAgICAgICAgICAgICJGQVAiLCAiVElFMSIsICJUSEJTNCIsICJGNyIsICJHUDFCQSIsICJMWVZFMSIsICJDQTMiLCAiVEdGQlIzIiwgIkRFRkExIiwgIkNENTkiLCAiQVBPTSIsICJPU01SIiwgIkxJTFJCMiIsICJVTU9EIiwgIkNDTDE4IiwgIkNPTDE4QTEiLCAKICAgICAgICAgICAgICAgICAgICAiTENOMiIsICJLSVQiLCAiQzFRVE5GMSIsICJBT0MzIiwgIkdBUzYiLCAiSUdMQzIiLCAiUExBMkc3IiwgIlROWEIiLCAiTUZBUDUiLCAiVkFTTiIsICJMSUxSQjUiLCAiQzIiKQoKbGVuZ3RoKG9saW5rX3Byb3RlaW5zKQoKb2xpbmtfcHJvdGVpbnNfcmFuayA9IHVubGlzdChsYXBwbHkob2xpbmtfcHJvdGVpbnMsIHBhc3RlMCwgIl9yYW5rTm9ybSIpKQoKb2xpbmtfcHJvdGVpbnNfc2hvcnQgPC0gYygiTUNQMSIpCm9saW5rX3Byb3RlaW5zX3Nob3J0X3JhbmsgPC0gdW5saXN0KGxhcHBseShvbGlua19wcm90ZWluc19zaG9ydCwgcGFzdGUwLCAiX3JhbmtOb3JtIikpCgpybSh0ZW1wKQoKYGBgCgojIyMgSW5zcGVjdCBPTElOSyBkYXRhCgpXZSBrbm93IHRoYXQgdGhlIHByb3RlaW5zIGFyZSBub3Qgbm9ybWFsbHkgZGlzdHJpYnV0ZWQgYW5kIHRoZXJlZm9yZSB3ZSB3aWxsIHN0YW5kYXJkaXNlIHRoZW0gYXMgZm9sbG93czogCgpgeiA9ICggeCAtIM68ICkgLyDPg2AKCldoZXJlIGZvciBlYWNoIHNhbXBsZSwgYHhgIGVxdWFscyB0aGUgdmFsdWUgb2YgdGhlIHZhcmlhYmxlLCBgzrxgIChfbXVfKSBlcXVhbHMgdGhlIG1lYW4gb2YgYHhgLCBhbmQgYM+DYCAoX3NpZ21hXykgZXF1YWxzIHRoZSBzdGFuZGFyZCBkZXZpYXRpb24gb2YgYHhgLgoKYGBge3IgT0xJTktTdGFuZGFyZGl6ZX0KZm9yKFBST1RFSU4gaW4gMTpsZW5ndGgob2xpbmtfcHJvdGVpbnNfc2hvcnQpKXsKICAjIEFFREJfUGxhc21hUHJvdGVpbl9PTElOSyRaIDwtIE5VTEwKICB2YXIudGVtcC56ID0gb2xpbmtfcHJvdGVpbnNfc2hvcnRfcmFua1tQUk9URUlOXQogIHZhci50ZW1wID0gb2xpbmtfcHJvdGVpbnNfc2hvcnRbUFJPVEVJTl0KICAKICBjYXQocGFzdGUwKCJcblNlbGVjdGluZyAiLCB2YXIudGVtcCwgIiBhbmQgc3RhbmRhcmRpc2luZzogIiwgdmFyLnRlbXAueiwiLlxuIikpCiAgY2F0KHBhc3RlMCgiKiBjaGFuZ2luZyAiLCB2YXIudGVtcCwgIiB0byBudW1lcmljLlxuIikpCgogIEFFREJfUGxhc21hUHJvdGVpbl9PTElOSyA8LSBBRURCX1BsYXNtYVByb3RlaW5fT0xJTksgJT4lCiAgICBtdXRhdGVfZWFjaF8oZnVucyhhcy5udW1lcmljKSwgb2xpbmtfcHJvdGVpbnNfc2hvcnQpIAogIAogIGNhdChwYXN0ZTAoIiogc3RhbmRhcmRpc2luZyAiLCB2YXIudGVtcCwgCiAgICAgICAgICAgICAiIChtZWFuOiAiLHJvdW5kKG1lYW4oIWlzLm5hKEFFREJfUGxhc21hUHJvdGVpbl9PTElOS1ssdmFyLnRlbXBdKSksIGRpZ2l0cyA9IDYpLAogICAgICAgICAgICAgIiwgbiA9ICIsc3VtKCFpcy5uYShBRURCX1BsYXNtYVByb3RlaW5fT0xJTktbLHZhci50ZW1wXSkpLCIpLlxuIikpCiAgCiAgQUVEQl9QbGFzbWFQcm90ZWluX09MSU5LIDwtIEFFREJfUGxhc21hUHJvdGVpbl9PTElOSyAlPiUKICAgICAgbXV0YXRlX2F0KHZhcnModmFyLnRlbXApLCAKICAgICAgICBsaXN0KFogPSB+IChBRURCX1BsYXNtYVByb3RlaW5fT0xJTktbLHZhci50ZW1wXSAtIG1lYW4oQUVEQl9QbGFzbWFQcm90ZWluX09MSU5LWyx2YXIudGVtcF0sIG5hLnJtID0gVFJVRSkpL3NkKEFFREJfUGxhc21hUHJvdGVpbl9PTElOS1ssdmFyLnRlbXBdLCBuYS5ybSA9IFRSVUUpKQogICAgICApCiAgIyBzdHIoQUVEQl9QbGFzbWFQcm90ZWluX09MSU5LJFopCiAgY2F0KHBhc3RlMCgiKiByZW5hbWluZyBaIHRvICIsIHZhci50ZW1wLnosIi5cbiIpKQogIEFFREJfUGxhc21hUHJvdGVpbl9PTElOS1ssdmFyLnRlbXAuel0gPC0gTlVMTAogIG5hbWVzKEFFREJfUGxhc21hUHJvdGVpbl9PTElOSylbbmFtZXMoQUVEQl9QbGFzbWFQcm90ZWluX09MSU5LKSA9PSAiWiJdIDwtIHZhci50ZW1wLnoKfQoKcm0odmFyLnRlbXAsIHZhci50ZW1wLnopCmBgYAoKCkhlcmUgd2Ugc3VtbWFyaXplIHNvbWUgb2YgdGhlc2UgZGF0YSBpbiB0aGUgc3Vic2V0IG9mIGdlbmV0aWMgZGF0YSB0aGF0IHBhc3NlZCBRQy4KYGBge3IgT0xJTktTdW1tYXJ5fQoKZm9yKFBST1RFSU4gaW4gMTpsZW5ndGgob2xpbmtfcHJvdGVpbnNfc2hvcnQpKXsKICB2YXIudGVtcC56ID0gb2xpbmtfcHJvdGVpbnNfc2hvcnRfcmFua1tQUk9URUlOXQogIHZhci50ZW1wID0gb2xpbmtfcHJvdGVpbnNfc2hvcnRbUFJPVEVJTl0KICAKICBjYXQocGFzdGUwKCJcblN1bW1hcmlzaW5nIGRhdGEgZm9yICIsdmFyLnRlbXAsIiBbQVVdOyBuID0gIixzdW0oIWlzLm5hKEFFREJfUGxhc21hUHJvdGVpbl9PTElOS1ssdmFyLnRlbXBdKSksIi5cbiIpKQogIHByaW50KHN1bW1hcnkoQUVEQl9QbGFzbWFQcm90ZWluX09MSU5LWyx2YXIudGVtcF0pKQogIHByaW50KHN1bW1hcnkoQUVEQl9QbGFzbWFQcm90ZWluX09MSU5LWyx2YXIudGVtcC56XSkpCgp9CnJtKHZhci50ZW1wLCB2YXIudGVtcC56LCBQUk9URUlOKQoKYGBgCgpgYGB7ciBPTElOS1Zpc3VhbGl6ZSB9CnJlcXVpcmUoImdncHViciIpCnJlcXVpcmUoImdnc2NpIikKCiMgbXlwYWwgPSBwYWxfbnBnKCJucmMiLCBhbHBoYSA9IDAuNykoOSkKIyBteXBhbAojICMjIFsxXSAiI0U2NEIzNUIyIiAiIzREQkJENUIyIiAiIzAwQTA4N0IyIiAiIzNDNTQ4OEIyIiAiI0YzOUI3RkIyIiAiIzg0OTFCNEIyIgojICMjIFs3XSAiIzkxRDFDMkIyIiAiI0RDMDAwMEIyIiAiIzdFNjE0OEIyIgojIGxpYnJhcnkoInNjYWxlcyIpCiMgc2hvd19jb2wobXlwYWwpCgpmb3IoUFJPVEVJTiBpbiAxOmxlbmd0aChvbGlua19wcm90ZWluc19zaG9ydCkpewogICMgbWV0YWJvbGl0ZV91bml0ID0gdWNvcmJpb05NUkRhdGFEaWN0aW9uYXJ5W3Vjb3JiaW9OTVJEYXRhRGljdGlvbmFyeSRNZXRhYm9saXRlX05NUiA9PSBOTVJ0YXJnZXRzW01FVEFCT0xJVEVdLCAiQ29uY2VudHJhdGlvbl9OTVIiXQogIGNhdChwYXN0ZTAoIlxuUHJvY2Vzc2luZyBtZXRhYm9saXRlIFsgIixvbGlua19wcm90ZWluc19zaG9ydFtQUk9URUlOXSwiIChBVSldLlxuIikpCgogIHZhci50ZW1wID0gb2xpbmtfcHJvdGVpbnNfc2hvcnRbUFJPVEVJTl0KICB2YXIudGVtcC56ID0gcGFzdGUwKG9saW5rX3Byb3RlaW5zX3Nob3J0W1BST1RFSU5dLCJfcmFua05vcm0iKQogICAKICBkdC50ZW1wIDwtIHN1YnNldChBRURCX1BsYXNtYVByb3RlaW5fT0xJTkssIHNlbGVjdCA9IGMoIlNUVURZX05VTUJFUiIsIHZhci50ZW1wLCB2YXIudGVtcC56LCAiUGxhdGVfSUQiKSkKICBkdC50ZW1wWywyXSA8LSBhcy5udW1lcmljKGR0LnRlbXBbLDJdKQogIAogIHAxIDwtIGdncHVicjo6Z2doaXN0b2dyYW0oZHQudGVtcCAlPiUgZmlsdGVyKCFpcy5uYShQbGF0ZV9JRCkpLAogICAgICAgICAgICAgICAgICAgIHggPSB2YXIudGVtcCwKICAgICAgICAgICAgICAgICAgICB5ID0gIi4uY291bnQuLiIsCiAgICAgICAgICAgICAgICAgICAgY29sb3IgPSAiIzREQkJENUIyIiwgZmlsbCA9ICIjNERCQkQ1QjIiLAogICAgICAgICAgICAgICAgICAgICMgcGFsZXR0ZSA9ICJucGciLAogICAgICAgICAgICAgICAgICAgIHJ1ZyA9IFRSVUUsCiAgICAgICAgICAgICAgICAgICAgYWRkID0gIm1lYW4iLAogICAgICAgICAgICAgICAgICAgIHhsYWIgPSBwYXN0ZTAodmFyLnRlbXAsIiBbQVVdLiIpLAogICAgICAgICAgICAgICAgICAgIGdndGhlbWUgPSB0aGVtZV9taW5pbWFsKCkpCiAgCiAgbXlfY29tcGFyaXNvbnMgPC0gbGlzdCggYygicGxhdGUgMSIsICJwbGF0ZSAyIiksIAogICAgICAgICAgICAgICAgICAgICAgICAgIGMoInBsYXRlIDEiLCAicGxhdGUgMyIpLCAKICAgICAgICAgICAgICAgICAgICAgICAgICBjKCJwbGF0ZSAxIiwgInBsYXRlIDQiKSwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgYygicGxhdGUgMSIsICJwbGF0ZSA1IiksIAogICAgICAgICAgICAgICAgICAgICAgICAgIGMoInBsYXRlIDEiLCAicGxhdGUgNiIpLCAKICAgICAgICAgICAgICAgICAgICAgICAgICBjKCJwbGF0ZSAxIiwgInBsYXRlIDEwIiksIAogICAgICAgICAgICAgICAgICAgICAgICAgIGMoInBsYXRlIDEiLCAicGxhdGUgMTEiKSApCiAgcDIgPC0gZ2dwdWJyOjpnZ2JveHBsb3QoZGF0YSA9IGR0LnRlbXAgJT4lIGZpbHRlcighaXMubmEoUGxhdGVfSUQpKSwKICAgICAgICAgICAgICAgICAgICAgICAgICB4ID0gIlBsYXRlX0lEIiwKICAgICAgICAgICAgICAgICAgICAgICAgICB5ID0gdmFyLnRlbXAueiwKICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvciA9ICJQbGF0ZV9JRCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgcGFsZXR0ZSA9ICJucGciLAogICAgICAgICAgICAgICAgICAgICAgICAgIGFkZCA9IGMoIm1lYW4iLCAiaml0dGVyIiksCiAgICAgICAgICAgICAgICAgICAgICAgICAgIyBlcnJvci5wbG90ID0gImVycm9yYmFyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICB4bGFiID0gInBsYXRlcyB1c2VkIiwKICAgICAgICAgICAgICAgICAgICAgICAgICB5bGFiID0gcGFzdGUwKHZhci50ZW1wLnosIiBbQVVdLiIpLAogICAgICAgICAgICAgICAgICAgICAgICAgICMgeWxpbSA9IGMoMCw0KSwKICAgICAgICAgICAgICAgICAgICAgICAgICBnZ3RoZW1lID0gdGhlbWVfbWluaW1hbCgpKSAjKwogICAgIyBzdGF0X2NvbXBhcmVfbWVhbnMobWV0aG9kID0gImFub3ZhIikgIysgICAgICAjIEFkZCBnbG9iYWwgcC12YWx1ZQogICAgIyBzdGF0X2NvbXBhcmVfbWVhbnMoY29tcGFyaXNvbnMgPSBteV9jb21wYXJpc29ucykgKyAjIEFkZCBwYWlyd2lzZSBjb21wYXJpc29ucyBwLXZhbHVlCiAgICAjIHN0YXRfY29tcGFyZV9tZWFucyhsYWJlbCA9ICJwLnNpZ25pZiIsIG1ldGhvZCA9ICJ0LnRlc3QiLCByZWYuZ3JvdXAgPSAicGxhdGUgMSIpCiAgCiAgCiAgcDMgPC0gZ2dwdWJyOjpnZ2hpc3RvZ3JhbShkdC50ZW1wICU+JSBmaWx0ZXIoIWlzLm5hKFBsYXRlX0lEKSksCiAgICAgICAgICAgICAgICAgICAgeCA9IHZhci50ZW1wLnosCiAgICAgICAgICAgICAgICAgICAgeSA9ICIuLmNvdW50Li4iLAogICAgICAgICAgICAgICAgICAgIGNvbG9yID0gIiM5MUQxQzJCMiIsIGZpbGwgPSAiIzkxRDFDMkIyIiwKICAgICAgICAgICAgICAgICAgICAjIHBhbGV0dGUgPSAibnBnIiwKICAgICAgICAgICAgICAgICAgICBydWcgPSBUUlVFLAogICAgICAgICAgICAgICAgICAgIGFkZCA9ICJtZWFuIiwKICAgICAgICAgICAgICAgICAgICB4bGFiID0gcGFzdGUwKHZhci50ZW1wLnosIiBbQVVdLiIpLAogICAgICAgICAgICAgICAgICAgIGdndGhlbWUgPSB0aGVtZV9taW5pbWFsKCkpCiAgCiAgcmVxdWlyZShwYXRjaHdvcmspCiAgIyBwNCA8LSAoKHAxIC8gcDMgKSB8IChwMikpCiAgCiAgcDQgPC0gZ2dwYXIocDEsIGxlZ2VuZCA9ICIiICkgLyBnZ3BhcihwMiArIHJvdGF0ZV94X3RleHQoNDUpLCBsZWdlbmQgPSAiIikgIHwgZ2dwYXIocDMsIGxlZ2VuZCA9ICJyaWdodCIpCiAgCiAgcHJpbnQocDQpCiAgZ2dzYXZlKGZpbGVuYW1lID0gcGFzdGUwKFFDX2xvYywgIi8iLFRvZGF5LCIuIixQUk9KRUNUTkFNRSwiLk9MSU5LLiIsdmFyLnRlbXAsIi5wbmciKSwKICAgICAgICAgcGxvdCA9IHA0LCBkZXZpY2UgPSAicG5nIiwgd2lkdGggPSAyMCwgaGVpZ2h0ID0gMjApCiAgCn0KICAjIHJtKG15X2NvbXBhcmlzb25zLAogICMgICAgcDEsIHAyLCBwMywgcDQsCiAgIyAgICB2YXIudGVtcCwgdmFyLnRlbXAueiwgZHQudGVtcCwgUFJPVEVJTikKCmBgYAoKCgoKIyMgTWVyZ2luZyBwcm90ZWluIGRhdGEKV2Ugd2lsbCBtZXJnZSB0aGVzZSBtZWFzdXJlbWVudHMgdG8gdGhlIEFFREIgZm9yIGNvbXBhcmluZyBwZy91ZyB2cy4gcGcvbUwgbWVhc3VyZW1lbnRzIG9mIE1DUDEgLSBhbHNvIGluIHJlbGF0aW9uIHRvIHBsYXF1ZSBwaGVub3R5cGVzLiBJbiBhZGRpdGlvbiB3ZSBoYXZlIG1vcmUgaW5mb3JtYXRpb24gdGhlIGV4cGVyaW1lbnQgYW5kIGNhbiBjb3JyZWN0IGZvciB0aGlzLgoKYGBge3IgbWVyZ2UgQUVEQiBhbmQgUHJvdGVpbnN9Cm5hbWVzKEFFREJfUHJvdGVpbl8yMDE1KVtuYW1lcyhBRURCX1Byb3RlaW5fMjAxNSkgPT0gIklMNl9wZ19tbCJdIDwtICJJTDZfcGdfbWxfMjAxNSIKbmFtZXMoQUVEQl9Qcm90ZWluXzIwMTUpW25hbWVzKEFFREJfUHJvdGVpbl8yMDE1KSA9PSAiSUw2Ul9wZ19tbCJdIDwtICJJTDZSX3BnX21sXzIwMTUiCm5hbWVzKEFFREJfUHJvdGVpbl8yMDE1KVtuYW1lcyhBRURCX1Byb3RlaW5fMjAxNSkgPT0gIklMOF9wZ19tbCJdIDwtICJJTDhfcGdfbWxfMjAxNSIKbmFtZXMoQUVEQl9Qcm90ZWluXzIwMTUpW25hbWVzKEFFREJfUHJvdGVpbl8yMDE1KSA9PSAiTUNQMV9wZ19tbCJdIDwtICJNQ1AxX3BnX21sXzIwMTUiCm5hbWVzKEFFREJfUHJvdGVpbl8yMDE1KVtuYW1lcyhBRURCX1Byb3RlaW5fMjAxNSkgPT0gIlJBTlRFU19wZ19tbCJdIDwtICJSQU5URVNfcGdfbWxfMjAxNSIKbmFtZXMoQUVEQl9Qcm90ZWluXzIwMTUpW25hbWVzKEFFREJfUHJvdGVpbl8yMDE1KSA9PSAiUEFJMV9wZ19tbCJdIDwtICJQQUkxX3BnX21sXzIwMTUiCm5hbWVzKEFFREJfUHJvdGVpbl8yMDE1KVtuYW1lcyhBRURCX1Byb3RlaW5fMjAxNSkgPT0gIk1DU0ZfcGdfbWwiXSA8LSAiTUNTRl9wZ19tbF8yMDE1IgpuYW1lcyhBRURCX1Byb3RlaW5fMjAxNSlbbmFtZXMoQUVEQl9Qcm90ZWluXzIwMTUpID09ICJBZGlwb25lY3Rpbl9uZ19tbCJdIDwtICJBZGlwb25lY3Rpbl9uZ19tbF8yMDE1IgpuYW1lcyhBRURCX1Byb3RlaW5fMjAxNSlbbmFtZXMoQUVEQl9Qcm90ZWluXzIwMTUpID09ICJTZWdtZW50X2lzb2xhdGVkX1RyaXMiXSA8LSAiU2VnbWVudF9pc29sYXRlZF9UcmlzXzIwMTUiCm5hbWVzKEFFREJfUHJvdGVpbl8yMDE1KVtuYW1lcyhBRURCX1Byb3RlaW5fMjAxNSkgPT0gIlRyaXNfcHJvdGVpbl9jb25jX3VnX21sIl0gPC0gIlRyaXNfcHJvdGVpbl9jb25jX3VnX21sXzIwMTUiCgp0ZW1wIDwtIHN1YnNldChBRURCX1Byb3RlaW5fMjAxNSwgc2VsZWN0ID0gYygiU1RVRFlfTlVNQkVSIiwgIklMNl9wZ19tbF8yMDE1IiwgIklMNlJfcGdfbWxfMjAxNSIsICJJTDhfcGdfbWxfMjAxNSIsICJNQ1AxX3BnX21sXzIwMTUiLCAiUkFOVEVTX3BnX21sXzIwMTUiLCAiUEFJMV9wZ19tbF8yMDE1IiwgIk1DU0ZfcGdfbWxfMjAxNSIsICJBZGlwb25lY3Rpbl9uZ19tbF8yMDE1IiwgIlNlZ21lbnRfaXNvbGF0ZWRfVHJpc18yMDE1IiwgIlRyaXNfcHJvdGVpbl9jb25jX3VnX21sXzIwMTUiKSkKCnRlbXAyIDwtIHN1YnNldChBRURCX1BsYXNtYVByb3RlaW5fT0xJTkssIHNlbGVjdCA9IGMoIlNUVURZX05VTUJFUiIsICJNQ1AxIiwgIk1DUDFfcmFua05vcm0iLCAiUGxhdGVfSUQiKSkKbmFtZXModGVtcDIpW25hbWVzKHRlbXAyKSA9PSAiTUNQMSJdIDwtICJNQ1AxX3BsYXNtYV9vbGluayIKbmFtZXModGVtcDIpW25hbWVzKHRlbXAyKSA9PSAiTUNQMV9yYW5rTm9ybSJdIDwtICJNQ1AxX3BsYXNtYV9vbGlua19yYW5rTm9ybSIKbmFtZXModGVtcDIpW25hbWVzKHRlbXAyKSA9PSAiUGxhdGVfSUQiXSA8LSAiUGxhdGVJRF9wbGFzbWFfb2xpbmsiCgoKQUVEQnJhdzIgPC0gbWVyZ2UoQUVEQnJhdywgdGVtcCwgYnkueCA9ICJTVFVEWV9OVU1CRVIiLCBieS55ID0gIlNUVURZX05VTUJFUiIsIHNvcnQgPSBGQUxTRSwKICAgICAgICAgICAgICBhbGwueCA9IFRSVUUpCgpBRURCIDwtIG1lcmdlKEFFREJyYXcyLCB0ZW1wMiwgYnkueCA9ICJTVFVEWV9OVU1CRVIiLCBieS55ID0gIlNUVURZX05VTUJFUiIsIHNvcnQgPSBGQUxTRSwKICAgICAgICAgICAgICBhbGwueCA9IFRSVUUpCnJtKHRlbXAsIHRlbXAyLCBBRURCcmF3MikKCnRlbXAgPC0gc3Vic2V0KEFFREIsIHNlbGVjdCA9IGMoIlNUVURZX05VTUJFUiIsICJNQ1AxIiwgIk1DUDFfcGdfdWdfMjAxNSIsICJNQ1AxX3BnX21sXzIwMTUiLCAiU2VnbWVudF9pc29sYXRlZF9UcmlzXzIwMTUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJNQ1AxX3BsYXNtYV9vbGluayIsICJNQ1AxX3BsYXNtYV9vbGlua19yYW5rTm9ybSIsICJQbGF0ZUlEX3BsYXNtYV9vbGluayIpKQpkaW0odGVtcCkKaGVhZCh0ZW1wKQpybSh0ZW1wKSAgIApgYGAKCiMjIyMgRXhhbWluZSBBRURCCgpXZSBjYW4gZXhhbWluZSB0aGUgY29udGVudHMgb2YgdGhlIEF0aGVyby1FeHByZXNzIEJpb2JhbmsgZGF0YXNldCB0byBrbm93IHdoYXQgZWFjaCB2YXJpYWJsZSBpcyBjYWxsZWQsIHdoYXQgY2xhc3MgKHR5cGUpIGl0IGhhcywgYW5kIHdoYXQgdGhlIHZhcmlhYmxlIGRlc2NyaXB0aW9uIGlzLiAKClRoZXJlIGlzIGFuIGV4Y2VsbGVudCBwb3N0IG9uIHRoaXM6IGh0dHBzOi8vd3d3LnItYmxvZ2dlcnMuY29tL3dvcmtpbmctd2l0aC1zcHNzLWxhYmVscy1pbi1yLy4gCmBgYHtyIEFFREI6IGRlc2NyaWJlfQpBRURCICU+JSBzalBsb3Q6OnZpZXdfZGYoc2hvdy50eXBlID0gVFJVRSwKICAgICAgICAgICAgICAgICAgICAgICAgIHNob3cuZnJxID0gVFJVRSwKICAgICAgICAgICAgICAgICAgICAgICAgIHNob3cucHJjID0gVFJVRSwKICAgICAgICAgICAgICAgICAgICAgICAgIHNob3cubmEgPSBUUlVFLCAKICAgICAgICAgICAgICAgICAgICAgICAgIG1heC5sZW4gPSBUUlVFLCAKICAgICAgICAgICAgICAgICAgICAgICAgIHdyYXAubGFiZWxzID0gMjAsCiAgICAgICAgICAgICAgICAgICAgICAgICB2ZXJib3NlID0gRkFMU0UsIAogICAgICAgICAgICAgICAgICAgICAgICAgdXNlLnZpZXdlciA9IEZBTFNFLAogICAgICAgICAgICAgICAgICAgICAgICAgZmlsZSA9IHBhc3RlMChPVVRfbG9jLCAiLyIsIFRvZGF5LCAiLkFFREIuZGljdGlvbmFyeS5odG1sIikpIApgYGAKCgojIyBGaXhpbmcgYW5kIGNyZWF0aW5nIHZhcmlhYmxlcwoKV2UgbmVlZCB0byBiZSB2ZXJ5IHN0cmljdCBpbiBkZWZpbmluZyBfc3ltcHRvbXMuXyBUaGVyZWZvcmUgd2Ugd2lsbCBmaXggYSBuZXcgdmFyaWFibGUgdGhhdCBncm91cHMgX3N5bXB0b21zXyBhdCBpbmNsdXNpb24uCgpDb2Rpbmcgb2YgX3N5bXB0b21zXyBpcyBhcyBmb2xsb3dzOgoKLSBtaXNzaW5nCS05OTkJCi0gQXN5bXB0b21hdGljCTAJCi0gVElBCTEJCi0gbWlub3Igc3Ryb2tlCTIJCi0gTWFqb3Igc3Ryb2tlCTMJCi0gQW1hdXJvc2lzIGZ1Z2F4CTQJCi0gRm91ciB2ZXNzZWwgZGlzZWFzZQk1CQotIFZlcnRlYnJvYmFzaWxhcnkgVElBCTcJCi0gUmV0aW5hbCBpbmZhcmN0aW9uCTgJCi0gU3ltcHRvbWF0aWMsIGJ1dCBhc3BlY2lmaWMgc3ltdG9tcwk5Ci0gQ29udHJhbGF0ZXJhbCBzeW1wdG9tYXRpYyBvY2NsdXNpb24JMTAJCi0gcmV0aW5hbCBpbmZhcmN0aW9uCTExCQotIGFybWNsYXVkaWNhdGlvbiBkdWUgdG8gb2NjbHVzaW9uIHN1YmNsYXZpYW4gYXJ0ZXJ5LCBDRUEgbmVlZGVkIGZvciBieXBhc3MJMTIJCi0gcmV0aW5hbCBpbmZhcmN0aW9uICsgVElBcwkxMwkKLSBPY3VsYXIgaXNjaGVtaWMgc3luZHJvbWUJMTQJCi0gaXNjaGVtaXNjaCBnbGF1Y29vbQkxNQkKLSBzdWJjbGF2aWFuIHN0ZWFsIHN5bmRyb21lCTE2CQotIFRHQQkxNwoKV2Ugd2lsbCBncm91cCBhcyBmb2xsb3dzIGluIGBTeW1wdG9tcy41R2A6CgoxLiBBc3ltcHRvbWF0aWMgPiAwCjIuIFRJQSA+IDEsIDcsIDEzCjMuIFN0cm9rZSA+IDIsIDMKNC4gT2N1bGFyID4gNCwgMTQsIDE1CjUuIFJldGluYWwgaW5mYXJjdGlvbiA+IDgsIDExCjYuIE90aGVyID4gNSwgOSwgMTAsIDEyLCAxNiwgMTcKCldlIHdpbGwgYWxzbyBncm91cCBhcyBmb2xsb3dzIGluIGBBc3ltcHRTeW1wdGA6CgoxLiBBc3ltcHRvbWF0aWMgPiAwCjIuIFRJQSA+IDEsIDcsIDEzICsgU3Ryb2tlID4gMiwgMyAKMy4gT2N1bGFyID4gNCwgMTQsIDE1ICsgUmV0aW5hbCBpbmZhcmN0aW9uID4gOCwgMTEgKyBPdGhlciA+IDUsIDksIDEwLCAxMiwgMTYsIDE3CgpXZSB3aWxsIGFsc28gZ3JvdXAgYXMgZm9sbG93cyBpbiBgQXN5bXB0U3ltcHQyR2A6CgoxLiBBc3ltcHRvbWF0aWMgPiAwCjIuIFRJQSA+IDEsIDcsIDEzICsgU3Ryb2tlID4gMiwgMyBPY3VsYXIgPiA0LCAxNCwgMTUgKyBSZXRpbmFsIGluZmFyY3Rpb24gPiA4LCAxMSArIE90aGVyID4gNSwgOSwgMTAsIDEyLCAxNiwgMTcKCgpgYGB7ciBGaXhTeW1wdG9tcywgbWVzc2FnZT1GQUxTRSwgd2FybmluZz1GQUxTRX0KIyBGaXggc3ltcHRvbXMKCmF0dGFjaChBRURCKQoKQUVEQiRzeW1wdFtpcy5uYShBRURCJHN5bXB0KV0gPC0gLTk5OQoKIyBTeW1wdG9tcy41RwpBRURCWywiU3ltcHRvbXMuNUciXSA8LSBOQQojIEFFREIkU3ltcHRvbXMuNUdbc3ltcHQgPT0gIk5BIl0gPC0gIkFzeW1wdG9tYXRpYyIKQUVEQiRTeW1wdG9tcy41R1tzeW1wdCA9PSAtOTk5XSA8LSBOQQpBRURCJFN5bXB0b21zLjVHW3N5bXB0ID09IDBdIDwtICJBc3ltcHRvbWF0aWMiCkFFREIkU3ltcHRvbXMuNUdbc3ltcHQgPT0gMSB8IHN5bXB0ID09IDcgfCBzeW1wdCA9PSAxM10gPC0gIlRJQSIKQUVEQiRTeW1wdG9tcy41R1tzeW1wdCA9PSAyIHwgc3ltcHQgPT0gM10gPC0gIlN0cm9rZSIKQUVEQiRTeW1wdG9tcy41R1tzeW1wdCA9PSA0IHwgc3ltcHQgPT0gMTQgfCBzeW1wdCA9PSAxNSBdIDwtICJPY3VsYXIiCkFFREIkU3ltcHRvbXMuNUdbc3ltcHQgPT0gOCB8IHN5bXB0ID09IDExXSA8LSAiUmV0aW5hbCBpbmZhcmN0aW9uIgpBRURCJFN5bXB0b21zLjVHW3N5bXB0ID09IDUgfCBzeW1wdCA9PSA5IHwgc3ltcHQgPT0gMTAgfCBzeW1wdCA9PSAxMiB8IHN5bXB0ID09IDE2IHwgc3ltcHQgPT0gMTddIDwtICJPdGhlciIKCiMgQXN5bXB0U3ltcHQKQUVEQlssIkFzeW1wdFN5bXB0Il0gPC0gTkEKQUVEQiRBc3ltcHRTeW1wdFtzeW1wdCA9PSAtOTk5XSA8LSBOQQpBRURCJEFzeW1wdFN5bXB0W3N5bXB0ID09IDBdIDwtICJBc3ltcHRvbWF0aWMiCkFFREIkQXN5bXB0U3ltcHRbc3ltcHQgPT0gMSB8IHN5bXB0ID09IDcgfCBzeW1wdCA9PSAxMyB8IHN5bXB0ID09IDIgfCBzeW1wdCA9PSAzXSA8LSAiU3ltcHRvbWF0aWMiCkFFREIkQXN5bXB0U3ltcHRbc3ltcHQgPT0gNCB8IHN5bXB0ID09IDE0IHwgc3ltcHQgPT0gMTUgfCBzeW1wdCA9PSA4IHwgc3ltcHQgPT0gMTEgfCBzeW1wdCA9PSA1IHwgc3ltcHQgPT0gOSB8IHN5bXB0ID09IDEwIHwgc3ltcHQgPT0gMTIgfCBzeW1wdCA9PSAxNiB8IHN5bXB0ID09IDE3XSA8LSAiT2N1bGFyIGFuZCBvdGhlcnMiCgojIEFzeW1wdFN5bXB0CkFFREJbLCJBc3ltcHRTeW1wdDJHIl0gPC0gTkEKQUVEQiRBc3ltcHRTeW1wdDJHW3N5bXB0ID09IC05OTldIDwtIE5BCkFFREIkQXN5bXB0U3ltcHQyR1tzeW1wdCA9PSAwXSA8LSAiQXN5bXB0b21hdGljIgpBRURCJEFzeW1wdFN5bXB0Mkdbc3ltcHQgPT0gMSB8IHN5bXB0ID09IDcgfCBzeW1wdCA9PSAxMyB8IHN5bXB0ID09IDIgfCBzeW1wdCA9PSAzIHwgc3ltcHQgPT0gNCB8IHN5bXB0ID09IDE0IHwgc3ltcHQgPT0gMTUgfCBzeW1wdCA9PSA4IHwgc3ltcHQgPT0gMTEgfCBzeW1wdCA9PSA1IHwgc3ltcHQgPT0gOSB8IHN5bXB0ID09IDEwIHwgc3ltcHQgPT0gMTIgfCBzeW1wdCA9PSAxNiB8IHN5bXB0ID09IDE3XSA8LSAiU3ltcHRvbWF0aWMiCgpkZXRhY2goQUVEQikKCiMgdGFibGUoQUVEQiRzeW1wdCwgdXNlTkEgPSAiaWZhbnkiKQojIHRhYmxlKEFFREIkQXN5bXB0U3ltcHQyRywgdXNlTkEgPSAiaWZhbnkiKQojIHRhYmxlKEFFREIkU3ltcHRvbXMuNUcsIHVzZU5BID0gImlmYW55IikKIyAKIyB0YWJsZShBRURCJEFzeW1wdFN5bXB0MkcsIEFFREIkc3ltcHQsIHVzZU5BID0gImlmYW55IikKIyB0YWJsZShBRURCJFN5bXB0b21zLjVHLCBBRURCJHN5bXB0LCB1c2VOQSA9ICJpZmFueSIpCnRhYmxlKEFFREIkQXN5bXB0U3ltcHQyRywgQUVEQiRTeW1wdG9tcy41RywgdXNlTkEgPSAiaWZhbnkiKQoKIyBBRURCLnRlbXAgPC0gc3Vic2V0KEFFREIsICBzZWxlY3QgPSBjKCJTVFVEWV9OVU1CRVIiLCAiVVBJRCIsICJBZ2UiLCAiR2VuZGVyIiwgIkhvc3BpdGFsIiwgIkFydGVyeV9zdW1tYXJ5IiwgInN5bXB0IiwgIlN5bXB0b21zLjVHIiwgIkFzeW1wdFN5bXB0IikpCiMgcmVxdWlyZShsYWJlbGxlZCkKIyBBRURCLnRlbXAkR2VuZGVyIDwtIHRvX2ZhY3RvcihBRURCLnRlbXAkR2VuZGVyKQojIEFFREIudGVtcCRIb3NwaXRhbCA8LSB0b19mYWN0b3IoQUVEQi50ZW1wJEhvc3BpdGFsKQojIEFFREIudGVtcCRBcnRlcnlfc3VtbWFyeSA8LSB0b19mYWN0b3IoQUVEQi50ZW1wJEFydGVyeV9zdW1tYXJ5KQojIAojIERUOjpkYXRhdGFibGUoQUVEQi50ZW1wWzE6MTAsXSwgY2FwdGlvbiA9ICJFeGNlcnB0IG9mIHRoZSB3aG9sZSBBRURCLiIsIHJvd25hbWVzID0gRkFMU0UpCiMgCiMgdGFibGUoQUVEQi50ZW1wJFN5bXB0b21zLjVHLCBBRURCLnRlbXAkQXN5bXB0U3ltcHQpCiMgCiMgcm0oQUVEQi50ZW1wKQoKYGBgCgpXZSB3aWxsIGFsc28gZml4IHRoZSBfcGxhcXVlcGhlbm90eXBlc18gdmFyaWFibGUuICAKCkNvZGluZyBvZiBzeW1wdG9tcyBpcyBhcyBmb2xsb3dzOgoKLSBtaXNzaW5nCS05OTkJCi0gbm90IHJlbGV2YW50IC04ODgKLSBmaWJyb3VzCTEJCi0gZmlicm9hdGhlcm9tYXRvdXMJMgkKLSBhdGhlcm9tYXRvdXMJMwkKCgpgYGB7ciBGaXhQbGFxdWVQaGVub3R5cGVzLCBtZXNzYWdlPUZBTFNFLCB3YXJuaW5nPUZBTFNFfQoKIyBGaXggcGxhcXVlcGhlbm90eXBlcwphdHRhY2goQUVEQikKQUVEQlssIk92ZXJhbGxQbGFxdWVQaGVub3R5cGUiXSA8LSBOQQpBRURCJE92ZXJhbGxQbGFxdWVQaGVub3R5cGVbcGxhcXVlcGhlbm90eXBlID09IC05OTldIDwtIE5BCkFFREIkT3ZlcmFsbFBsYXF1ZVBoZW5vdHlwZVtwbGFxdWVwaGVub3R5cGUgPT0gLTk5OV0gPC0gTkEKQUVEQiRPdmVyYWxsUGxhcXVlUGhlbm90eXBlW3BsYXF1ZXBoZW5vdHlwZSA9PSAxXSA8LSAiZmlicm91cyIKQUVEQiRPdmVyYWxsUGxhcXVlUGhlbm90eXBlW3BsYXF1ZXBoZW5vdHlwZSA9PSAyXSA8LSAiZmlicm9hdGhlcm9tYXRvdXMiCkFFREIkT3ZlcmFsbFBsYXF1ZVBoZW5vdHlwZVtwbGFxdWVwaGVub3R5cGUgPT0gM10gPC0gImF0aGVyb21hdG91cyIKZGV0YWNoKEFFREIpCgp0YWJsZShBRURCJE92ZXJhbGxQbGFxdWVQaGVub3R5cGUpCgojIEFFREIudGVtcCA8LSBzdWJzZXQoQUVEQiwgIHNlbGVjdCA9IGMoIlNUVURZX05VTUJFUiIsICJVUElEIiwgIkFnZSIsICJHZW5kZXIiLCAiSG9zcGl0YWwiLCAiQXJ0ZXJ5X3N1bW1hcnkiLCAicGxhcXVlcGhlbm90eXBlIiwgIk92ZXJhbGxQbGFxdWVQaGVub3R5cGUiKSkKIyByZXF1aXJlKGxhYmVsbGVkKQojIEFFREIudGVtcCRHZW5kZXIgPC0gdG9fZmFjdG9yKEFFREIudGVtcCRHZW5kZXIpCiMgQUVEQi50ZW1wJEhvc3BpdGFsIDwtIHRvX2ZhY3RvcihBRURCLnRlbXAkSG9zcGl0YWwpCiMgQUVEQi50ZW1wJEFydGVyeV9zdW1tYXJ5IDwtIHRvX2ZhY3RvcihBRURCLnRlbXAkQXJ0ZXJ5X3N1bW1hcnkpCiMgCiMgRFQ6OmRhdGF0YWJsZShBRURCLnRlbXBbMToxMCxdLCBjYXB0aW9uID0gIkV4Y2VycHQgb2YgdGhlIHdob2xlIEFFREIuIiwgcm93bmFtZXMgPSBGQUxTRSkKIyAKIyBybShBRURCLnRlbXApCgpgYGAKCldlIHdpbGwgYWxzbyBmaXggdGhlIF9kaWFiZXRlc18gc3RhdHVzIHZhcmlhYmxlLiBXZSBkZWZpbmUgZGlhYmV0ZXMgYXMgaGlzdG9yeSBvZiBhIGRpYWdub3NpcyBhbmQvb3IgdXNlIG9mIGdsdWNvc2UtbG93ZXJpbmcgbWVkaWNhdGlvbnMuCgpgYGB7ciBGaXhEaWFiZXRlcywgbWVzc2FnZT1GQUxTRSwgd2FybmluZz1GQUxTRX0KIyBGaXggZGlhYmV0ZXMKYXR0YWNoKEFFREIpCkFFREJbLCJEaWFiZXRlc1N0YXR1cyJdIDwtIE5BCkFFREIkRGlhYmV0ZXNTdGF0dXNbRE0uY29tcG9zaXRlID09IC05OTldIDwtIE5BCkFFREIkRGlhYmV0ZXNTdGF0dXNbRE0uY29tcG9zaXRlID09IDBdIDwtICJDb250cm9sIChubyBEaWFiZXRlcyBEeC9NZWQpIgpBRURCJERpYWJldGVzU3RhdHVzW0RNLmNvbXBvc2l0ZSA9PSAxXSA8LSAiRGlhYmV0ZXMiCmRldGFjaChBRURCKQoKdGFibGUoQUVEQiRETS5jb21wb3NpdGUpCgp0YWJsZShBRURCJERpYWJldGVzU3RhdHVzKQoKCiMgQUVEQi50ZW1wIDwtIHN1YnNldChBRURCLCAgc2VsZWN0ID0gYygiU1RVRFlfTlVNQkVSIiwgIlVQSUQiLCAiQWdlIiwgIkdlbmRlciIsICJIb3NwaXRhbCIsICJBcnRlcnlfc3VtbWFyeSIsICJETS5jb21wb3NpdGUiLCAiRGlhYmV0ZXNTdGF0dXMiKSkKIyByZXF1aXJlKGxhYmVsbGVkKQojIEFFREIudGVtcCRHZW5kZXIgPC0gdG9fZmFjdG9yKEFFREIudGVtcCRHZW5kZXIpCiMgQUVEQi50ZW1wJEhvc3BpdGFsIDwtIHRvX2ZhY3RvcihBRURCLnRlbXAkSG9zcGl0YWwpCiMgQUVEQi50ZW1wJEFydGVyeV9zdW1tYXJ5IDwtIHRvX2ZhY3RvcihBRURCLnRlbXAkQXJ0ZXJ5X3N1bW1hcnkpCiMgQUVEQi50ZW1wJERpYWJldGVzU3RhdHVzIDwtIHRvX2ZhY3RvcihBRURCLnRlbXAkRGlhYmV0ZXNTdGF0dXMpCiMgCiMgRFQ6OmRhdGF0YWJsZShBRURCLnRlbXBbMToxMCxdLCBjYXB0aW9uID0gIkV4Y2VycHQgb2YgdGhlIHdob2xlIEFFREIuIiwgcm93bmFtZXMgPSBGQUxTRSkKIyAKIyBybShBRURCLnRlbXApCgpgYGAKCgpXZSB3aWxsIGFsc28gZml4IHRoZSBfc21va2luZ18gc3RhdHVzIHZhcmlhYmxlLiBXZSBhcmUgaW50ZXJlc3RlZCBpbiB3aGV0aGVyIHNvbWVvbmUgbmV2ZXIsIGV2ZXIgb3IgaXMgY3VycmVudGx5IChhdCB0aGUgdGltZSBvZiBpbmNsdXNpb24pIHNtb2tpbmcuIFRoaXMgaXMgYmFzZWQgb24gdGhlIHF1ZXN0aW9ubmFpcmUuIAoKLSBgZGlldDgwMWA6IGFyZSB5b3UgYSBzbW9rZXI/Ci0gYGRpZXQ4MDJgOiBkaWQgeW91IHNtb2tlIGluIHRoZSBwYXN0PwoKV2UgYWxyZWFkeSBoYXZlIHNvbWUgdmFyaWFibGVzIGluZGljYXRpbmcgc21va2luZyBzdGF0dXM6CgotIGBTbW9raW5nUmVwb3J0ZWRgOiBwYXRpZW50IGhhcyByZXBvcnRlZCB0byBzbW9rZS4KLSBgU21va2luZ1llYXJPUmA6IHNtb2tpbmcgaW4gdGhlIHllYXIgb2Ygc3VyZ2VyeT8KLSBgU21va2VyQ3VycmVudGA6IGN1cnJlbnRseSBzbW9raW5nPwoKCgpgYGB7ciBGaXhTbW9raW5nLCBtZXNzYWdlPUZBTFNFLCB3YXJuaW5nPUZBTFNFfQpyZXF1aXJlKGxhYmVsbGVkKQpBRURCJGRpZXQ4MDEgPC0gdG9fZmFjdG9yKEFFREIkZGlldDgwMSkKQUVEQiRkaWV0ODAyIDwtIHRvX2ZhY3RvcihBRURCJGRpZXQ4MDIpCkFFREIkZGlldDgwNSA8LSB0b19mYWN0b3IoQUVEQiRkaWV0ODA1KQpBRURCJFNtb2tpbmdSZXBvcnRlZCA8LSB0b19mYWN0b3IoQUVEQiRTbW9raW5nUmVwb3J0ZWQpCkFFREIkU21va2VyQ3VycmVudCA8LSB0b19mYWN0b3IoQUVEQiRTbW9rZXJDdXJyZW50KQpBRURCJFNtb2tpbmdZZWFyT1IgPC0gdG9fZmFjdG9yKEFFREIkU21va2luZ1llYXJPUikKCiMgdGFibGUoQUVEQiRkaWV0ODAxKQojIHRhYmxlKEFFREIkZGlldDgwMikKIyB0YWJsZShBRURCJFNtb2tpbmdSZXBvcnRlZCkKIyB0YWJsZShBRURCJFNtb2tlckN1cnJlbnQpCiMgdGFibGUoQUVEQiRTbW9raW5nWWVhck9SKQojIHRhYmxlKEFFREIkU21va2luZ1JlcG9ydGVkLCBBRURCJFNtb2tlckN1cnJlbnQsIHVzZU5BID0gImlmYW55IiwgZG5uID0gYygiUmVwb3J0ZWQgc21va2luZyIsICJDdXJyZW50IHNtb2tlciIpKQojIAojIHRhYmxlKEFFREIkZGlldDgwMSwgQUVEQiRkaWV0ODAyLCB1c2VOQSA9ICJpZmFueSIsIGRubiA9IGMoIlNtb2tlciIsICJQYXN0IHNtb2tlciIpKQoKY2F0KCJcbkZpeGluZyBzbW9raW5nIHN0YXR1cy5cbiIpCmF0dGFjaChBRURCKQpBRURCWywiU21va2VyU3RhdHVzIl0gPC0gTkEKQUVEQiRTbW9rZXJTdGF0dXNbZGlldDgwMiA9PSAiZG9uJ3Qga25vdyJdIDwtICJOZXZlciBzbW9rZWQiCkFFREIkU21va2VyU3RhdHVzW2RpZXQ4MDIgPT0gIkkgc3RpbGwgc21va2UiXSA8LSAiQ3VycmVudCBzbW9rZXIiCkFFREIkU21va2VyU3RhdHVzW1Ntb2tlckN1cnJlbnQgPT0gIm5vIiAmIGRpZXQ4MDIgPT0gIm5vIl0gPC0gIk5ldmVyIHNtb2tlZCIKQUVEQiRTbW9rZXJTdGF0dXNbU21va2VyQ3VycmVudCA9PSAibm8iICYgZGlldDgwMiA9PSAieWVzIl0gPC0gIkV4LXNtb2tlciIKQUVEQiRTbW9rZXJTdGF0dXNbU21va2VyQ3VycmVudCA9PSAieWVzIl0gPC0gIkN1cnJlbnQgc21va2VyIgpBRURCJFNtb2tlclN0YXR1c1tTbW9rZXJDdXJyZW50ID09ICJubyBkYXRhIGF2YWlsYWJsZS9taXNzaW5nIl0gPC0gTkEKIyBBRURCJFNtb2tlclN0YXR1c1tpcy5uYShTbW9rZXJDdXJyZW50KV0gPC0gIk5ldmVyIHNtb2tlZCIKZGV0YWNoKEFFREIpCgpjYXQoIlxuKiBDdXJyZW50IHNtb2tpbmcgc3RhdHVzLlxuIikKdGFibGUoQUVEQiRTbW9rZXJDdXJyZW50LAogICAgICB1c2VOQSA9ICJpZmFueSIsIAogICAgICBkbm4gPSBjKCJDdXJyZW50IHNtb2tlciIpKQoKY2F0KCJcbiogVXBkYXRlZCBzbW9raW5nIHN0YXR1cy5cbiIpCnRhYmxlKEFFREIkU21va2VyU3RhdHVzLAogICAgICB1c2VOQSA9ICJpZmFueSIsIAogICAgICBkbm4gPSBjKCJVcGRhdGVkIHNtb2tpbmcgc3RhdHVzIikpCgpjYXQoIlxuKiBDb21wYXJpbmcgdG8gJ1Ntb2tlckN1cnJlbnQnLlxuIikKdGFibGUoQUVEQiRTbW9rZXJTdGF0dXMsIEFFREIkU21va2VyQ3VycmVudCwgCiAgICAgIHVzZU5BID0gImlmYW55IiwgCiAgICAgIGRubiA9IGMoIlVwZGF0ZWQgc21va2luZyBzdGF0dXMiLCAiQ3VycmVudCBzbW9rZXIiKSkKCiMgQUVEQi50ZW1wIDwtIHN1YnNldChBRURCLCAgc2VsZWN0ID0gYygiU1RVRFlfTlVNQkVSIiwgIlVQSUQiLCAiQWdlIiwgIkdlbmRlciIsICJIb3NwaXRhbCIsICJBcnRlcnlfc3VtbWFyeSIsICJETS5jb21wb3NpdGUiLCAiRGlhYmV0ZXNTdGF0dXMiKSkKIyByZXF1aXJlKGxhYmVsbGVkKQojIEFFREIudGVtcCRHZW5kZXIgPC0gdG9fZmFjdG9yKEFFREIudGVtcCRHZW5kZXIpCiMgQUVEQi50ZW1wJEhvc3BpdGFsIDwtIHRvX2ZhY3RvcihBRURCLnRlbXAkSG9zcGl0YWwpCiMgQUVEQi50ZW1wJEFydGVyeV9zdW1tYXJ5IDwtIHRvX2ZhY3RvcihBRURCLnRlbXAkQXJ0ZXJ5X3N1bW1hcnkpCiMgQUVEQi50ZW1wJERpYWJldGVzU3RhdHVzIDwtIHRvX2ZhY3RvcihBRURCLnRlbXAkRGlhYmV0ZXNTdGF0dXMpCiMgCiMgRFQ6OmRhdGF0YWJsZShBRURCLnRlbXBbMToxMCxdLCBjYXB0aW9uID0gIkV4Y2VycHQgb2YgdGhlIHdob2xlIEFFREIuIiwgcm93bmFtZXMgPSBGQUxTRSkKIyAKIyBybShBRURCLnRlbXApCgoKYGBgCgpXZSB3aWxsIGFsc28gZml4IHRoZSBfYWxjb2hvbF8gc3RhdHVzIHZhcmlhYmxlLgoKYGBge3IgRml4QWxjb2hvbCwgbWVzc2FnZT1GQUxTRSwgd2FybmluZz1GQUxTRX0KCiMgRml4IGRpYWJldGVzCmF0dGFjaChBRURCKQpBRURCWywiQWxjb2hvbFVzZSJdIDwtIE5BCkFFREIkQWxjb2hvbFVzZVtkaWV0ODEwID09IC05OTldIDwtIE5BCkFFREIkQWxjb2hvbFVzZVtkaWV0ODEwID09IDBdIDwtICJObyIKQUVEQiRBbGNvaG9sVXNlW2RpZXQ4MTAgPT0gMV0gPC0gIlllcyIKZGV0YWNoKEFFREIpCgp0YWJsZShBRURCJEFsY29ob2xVc2UpCgojIEFFREIudGVtcCA8LSBzdWJzZXQoQUVEQiwgIHNlbGVjdCA9IGMoIlNUVURZX05VTUJFUiIsICJVUElEIiwgIkFnZSIsICJHZW5kZXIiLCAiSG9zcGl0YWwiLCAiQXJ0ZXJ5X3N1bW1hcnkiLCAiZGlldDgxMCIsICJBbGNvaG9sVXNlIikpCiMgcmVxdWlyZShsYWJlbGxlZCkKIyBBRURCLnRlbXAkR2VuZGVyIDwtIHRvX2ZhY3RvcihBRURCLnRlbXAkR2VuZGVyKQojIEFFREIudGVtcCRIb3NwaXRhbCA8LSB0b19mYWN0b3IoQUVEQi50ZW1wJEhvc3BpdGFsKQojIEFFREIudGVtcCRBcnRlcnlfc3VtbWFyeSA8LSB0b19mYWN0b3IoQUVEQi50ZW1wJEFydGVyeV9zdW1tYXJ5KQojIEFFREIudGVtcCRBbGNvaG9sVXNlIDwtIHRvX2ZhY3RvcihBRURCLnRlbXAkQWxjb2hvbFVzZSkKIyAKIyBEVDo6ZGF0YXRhYmxlKEFFREIudGVtcFsxOjEwLF0sIGNhcHRpb24gPSAiRXhjZXJwdCBvZiB0aGUgd2hvbGUgQUVEQi4iLCByb3duYW1lcyA9IEZBTFNFKQojIAojIHJtKEFFREIudGVtcCkKCgpgYGAKCldlIHdpbGwgYWxzbyBmaXggYSBoaXN0b3J5IG9mIENBRCwgc3Ryb2tlIG9yIHBlcmlwaGVyYWwgaW50ZXJ2ZW50aW9uIHN0YXR1cyB2YXJpYWJsZS4gVGhpcyB3aWxsIGJlIGJhc2VkIG9uIGBDQURfaGlzdG9yeWAsIGBTdHJva2VfaGlzdG9yeWAsIGFuZCBgUGVyaXBoZXJhbC5pbnRlcnZgCgpgYGB7ciBGaXhDQURfSGlzdG9yeSwgbWVzc2FnZT1GQUxTRSwgd2FybmluZz1GQUxTRX0KCiMgRml4IGRpYWJldGVzCmF0dGFjaChBRURCKQpBRURCWywiTWVkSHhfQ1ZEIl0gPC0gTkEKQUVEQiRNZWRIeF9DVkRbQ0FEX2hpc3RvcnkgPT0gMCB8IFN0cm9rZV9oaXN0b3J5ID09IDAgfCBQZXJpcGhlcmFsLmludGVydiA9PSAwXSA8LSAiTm8iCkFFREIkTWVkSHhfQ1ZEW0NBRF9oaXN0b3J5ID09IDEgfCBTdHJva2VfaGlzdG9yeSA9PSAxIHwgUGVyaXBoZXJhbC5pbnRlcnYgPT0gMV0gPC0gInllcyIKZGV0YWNoKEFFREIpCgp0YWJsZShBRURCJENBRF9oaXN0b3J5KQp0YWJsZShBRURCJFN0cm9rZV9oaXN0b3J5KQp0YWJsZShBRURCJFBlcmlwaGVyYWwuaW50ZXJ2KQp0YWJsZShBRURCJE1lZEh4X0NWRCkKCiMgQUVEQi50ZW1wIDwtIHN1YnNldChBRURCLCAgc2VsZWN0ID0gYygiU1RVRFlfTlVNQkVSIiwgIlVQSUQiLCAiQWdlIiwgIkdlbmRlciIsICJIb3NwaXRhbCIsICJBcnRlcnlfc3VtbWFyeSIsICJkaWV0ODEwIiwgIkFsY29ob2xVc2UiKSkKIyByZXF1aXJlKGxhYmVsbGVkKQojIEFFREIudGVtcCRHZW5kZXIgPC0gdG9fZmFjdG9yKEFFREIudGVtcCRHZW5kZXIpCiMgQUVEQi50ZW1wJEhvc3BpdGFsIDwtIHRvX2ZhY3RvcihBRURCLnRlbXAkSG9zcGl0YWwpCiMgQUVEQi50ZW1wJEFydGVyeV9zdW1tYXJ5IDwtIHRvX2ZhY3RvcihBRURCLnRlbXAkQXJ0ZXJ5X3N1bW1hcnkpCiMgQUVEQi50ZW1wJEFsY29ob2xVc2UgPC0gdG9fZmFjdG9yKEFFREIudGVtcCRBbGNvaG9sVXNlKQojIAojIERUOjpkYXRhdGFibGUoQUVEQi50ZW1wWzE6MTAsXSwgY2FwdGlvbiA9ICJFeGNlcnB0IG9mIHRoZSB3aG9sZSBBRURCLiIsIHJvd25hbWVzID0gRkFMU0UpCiMgCiMgcm0oQUVEQi50ZW1wKQoKCmBgYAoKCgoKIyBBdGhlcm8tRXhwcmVzcyBCaW9iYW5rIFN0dWR5CgojIyBCYXNlbGluZSBjaGFyYWN0ZXJpc3RpY3MKCldlIGFyZSBpbnRlcmVzdGVkIGluIHRoZSBmb2xsb3dpbmcgdmFyaWFibGVzIGF0IGJhc2VsaW5lLgoKLSBBZ2UgKHllYXJzKQotIEZlbWFsZSBzZXggKE4sICUpCi0gSHlwZXJ0ZW5zaW9uIChOLCAlKQotIFNCUCAobW1IZykKLSBEQlAgKG1tSGcpCi0gRGlhYmV0ZXMgbWVsbGl0dXMgKE4sICUpCi0gVG90YWwgY2hvbGVzdGVyb2wgbGV2ZWxzIChtZy9kTCkKLSBMREwgY2hvbGVzdGVyb2wgbGV2ZWxzIChtZy9kTCkKLSBIREwgY2hvbGVzdGVyb2wgbGV2ZWxzIChtZy9kTCkKLSBUcmlnbHljZXJpZGUgbGV2ZWxzIChtZy9kTCkKLSBVc2Ugb2Ygc3RhdGlucyAoTiwgJSkKLSBVc2Ugb2YgYW50aXBsYXRlbGV0IGRydWdzIChOLCAlKQotIEJNSSAoa2cvbcKyKQotIFNtb2tpbmcgc3RhdHVzIChOLCAlKQogIC0gTmV2ZXIgc21va2VycwogIC0gRXgtc21va2VycwogIC0gQ3VycmVudCBzbW9rZXJzCi0gSGlzdG9yeSBvZiBDQUQgKE4sICUpCi0gSGlzdG9yeSBvZiBQQUQgKE4sICUpCi0gQ2xpbmljYWwgbWFuaWZlc3RhdGlvbnMKICAtIEFzeW1wdG9tYXRpYwogIC0gQW1hdXJvc2lzIGZ1Z2F4CiAgLSBUSUEKICAtIFN0cm9rZQotIGVHRlIgKG1ML21pbi8xLjczIG3CsikKLSBNQ1AtMSBwbGFxdWUgbGV2ZWxzIChwZy9tTCkgKExVTUlORVggYmFzZWQsIHR3byBleHBlcmltZW50cyBgTUNQMWAsIGFuZCBgTUNQMV9wZ191Z18yMDE1YCkKCj4gTk9UIEFWQUlMQUJMRSBZRVQKLSBNQ1AtMSBwbGFzbWEgbGV2ZWxzIChwZy9tTCkgKE9MSU5LIGJhc2VkKSAKCgpgYGB7ciBCYXNlbGluZSBBRURCOiBjcmVhdGlvbiwgaW5jbHVkZSA9IEZBTFNFfQpjYXQoIj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiIpCmNhdCgiU0VMRUNUSU9OIFRIRSBTSElaWkxFXG4iKQoKIyMjIEFydGVyeSBsZXZlbHMKIyBBRWRhdGEkQXJ0ZXJ5X3N1bW1hcnk6IAojICAgICAgICAgICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWwKIyBOT1QgVVNFIC0gMCBObyBhcnRlcnkga25vd24gKHlldCksIG5vIHN1cmdlcnkgKHBhdGllbnQgaWxsLCBkaWVkLCBleGl0ZWQgc3R1ZHkpLCByZS1udW1iZXJlZCB0byBBQUEKIyBVU0UgLSAxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2Fyb3RpZCAobGVmdCAmIHJpZ2h0KQojIFVTRSAtIDIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZlbW9yYWwvaWxpYWMgKGxlZnQsIHJpZ2h0IG9yIGJvdGggc2lkZXMpCiMgTk9UIFVTRSAtIDMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG90aGVyIGNhcm90aWQgYXJ0ZXJpZXMgKGNvbW1vbiwgZXh0ZXJuYWwpCiMgTk9UIFVTRSAtIDQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhcm90aWQgYnlwYXNzIGFuZCBpbmp1cnkgKGxlZnQsIHJpZ2h0IG9yIGJvdGggc2lkZXMpCiMgTk9UIFVTRSAtIDUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmV1cnlzbWF0YSAoY2Fyb3RpZCAmIGZlbW9yYWwpCiMgTk9UIFVTRSAtIDYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFvcnRhCiMgTk9UIFVTRSAtIDcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG90aGVyIGFydGVyaWVzIChyZW5hbCwgcG9wbGl0ZWFsLCB2ZXJ0ZWJyYWwpCiMgTk9UIFVTRSAtIDggICAgICAgICAgICAgICAgICAgICAgICBmZW1vcmFsIGJ5cGFzcywgYW5naW9zZWFsIGFuZCBpbmp1cnkgKGxlZnQsIHJpZ2h0IG9yIGJvdGggc2lkZXMpCgojIyMgQUVkYXRhJGluZm9ybWVkY29uc2VudAojICAgICAgICAgICB2YWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbAojIE5PVCBVU0UgLSAtOTk5ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtaXNzaW5nCiMgTk9UIFVTRSAtIDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm8sIGRpZWQKIyBVU0UgLSAxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeWVzCiMgVVNFIC0gMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB5ZXMsIGhlYWx0aCB0cmVhdG1lbnQgd2hlbiBwb3NzaWJsZQojIFVTRSAtIDMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB5ZXMsIG5vIGhlYWx0aCB0cmVhdG1lbnQKIyBVU0UgLSA0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeWVzLCBubyBoZWFsdGggdHJlYXRtZW50LCBubyBjb21tZXJjaWFsIGJ1c2luZXNzCiMgTk9UIFVTRSAtIDUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeWVzLCBubyB0aXNzdWUsIG5vIGNvbW1lcmljYWwgYnVzaW5lc3MKIyBOT1QgVVNFIC0gNiAgICAgICAgICAgICAgICAgICAgICB5ZXMsIG5vIHRpc3N1ZSwgbm8gcXVlc3Rpb25uYWlyZXMsIG5vIG1lZGljYWwgaW5mbywgbm8gY29tbWVyY2lhbCBidXNpbmVzcwojIFVTRSAtIDcgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHllcywgbm8gcXVlc3Rpb25uYWlyZXMsIG5vIGhlYWx0aCB0cmVhdG1lbnQsIG5vIGNvbW1lcmNpYWwgYnVzaW5lc3MKIyBVU0UgLSA4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeWVzLCBubyBxdWVzdGlvbm5haXJlcywgaGVhbHRoIHRyZWF0bWVudCB3aGVuIHBvc3NpYmxlCiMgTk9UIFVTRSAtIDkgICAgICAgICAgICAgICAgICB5ZXMsIG5vIHRpc3N1ZSwgbm8gcXVlc3Rpb25uYWlyZXMsIG5vIGhlYWx0aCB0cmVhdG1lbnQsIG5vIGNvbW1lcmljYWwgYnVzaW5lc3MKIyBVU0UgLSAxMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB5ZXMsIG5vIGhlYWx0aCB0cmVhdG1lbnQsIG5vIG1lZGljYWwgaW5mbywgbm8gY29tbWVyY2lhbCBidXNpbmVzcwojIE5PVCBVU0UgLSAxMSB5ZXMsIG5vIHRpc3N1ZSwgbm8gcXVlc3Rpb25uYWlyZXMsIG5vIGhlYWx0aCB0cmVhdG1lbnQsIG5vIG1lZGljYWwgaW5mbywgbm8gY29tbWVyY2lhbCBidXNpbmVzcwojIFVTRSAtIDEyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB5ZXMsIG5vIHF1ZXN0aW9ubmFpcmVzLCBubyBoZWFsdGggdHJlYXRtZW50CiMgTk9UIFVTRSAtIDEzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHllcywgbm8gdGlzc3VlLCBubyBoZWFsdGggdHJlYXRtZW50CiMgTk9UIFVTRSAtIDE0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeWVzLCBubyB0aXNzdWUsIG5vIHF1ZXN0aW9ubmFpcmVzCiMgTk9UIFVTRSAtIDE1ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB5ZXMsIG5vIHRpc3N1ZSwgaGVhbHRoIHRyZWF0bWVudCB3aGVuIHBvc3NpYmxlCiMgTk9UIFVTRSAtIDE2ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHllcywgbm8gdGlzc3VlCiMgVVNFIC0gMTcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB5ZXMsIG5vIGNvbW1lcmljYWwgYnVzaW5lc3MKIyBVU0UgLSAxOCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB5ZXMsIGhlYWx0aCB0cmVhdG1lbnQgd2hlbiBwb3NzaWJsZSwgbm8gY29tbWVyY2lhbCBidXNpbmVzcwojIFVTRSAtIDE5ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHllcywgbm8gbWVkaWNhbCBpbmZvLCBubyBjb21tZXJjaWFsIGJ1c2luZXNzCiMgVVNFIC0gMjAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHllcywgbm8gcXVlc3Rpb25uYWlyZXMKIyBOT1QgVVNFIC0gMjEgICAgICAgICAgICAgICAgICAgICAgICAgeWVzLCBubyB0aXNzdWUsIG5vIHF1ZXN0aW9ubmFpcmVzLCBubyBoZWFsdGggdHJlYXRtZW50LCBubyBtZWRpY2FsIGluZm8KIyBOT1QgVVNFIC0gMjIgICAgICAgICAgICAgICAgICB5ZXMsIG5vIHRpc3N1ZSwgbm8gcXVlc3Rpb25uYWlyZXMsIG5vIGhlYWx0aCB0cmVhdG1lbnQsIG5vIGNvbW1lcmNpYWwgYnVzaW5lc3MKIyBVU0UgLSAyMyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB5ZXMsIG5vIG1lZGljYWwgaW5mbwojIFVTRSAtIDI0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB5ZXMsIG5vIHF1ZXN0aW9ubmFpcmVzLCBubyBjb21tZXJjaWFsIGJ1c2luZXNzCiMgVVNFIC0gMjUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB5ZXMsIG5vIHF1ZXN0aW9ubmFpcmVzLCBubyBoZWFsdGggdHJlYXRtZW50LCBubyBtZWRpY2FsIGluZm8KIyBVU0UgLSAyNiAgICAgICAgICAgICAgICAgIHllcywgbm8gcXVlc3Rpb25uYWlyZXMsIGhlYWx0aCB0cmVhdG1lbnQgd2hlbiBwb3NzaWJsZSwgbm8gY29tbWVyY2lhbCBidXNpbmVzcwojIFVTRSAtIDI3ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeWVzLCAgbm8gaGVhbHRoIHRyZWF0bWVudCwgbm8gbWVkaWNhbCBpbmZvCiMgTk9UIFVTRSAtIDI4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBubywgZG9lc24ndCB3YW50IHRvCiMgTk9UIFVTRSAtIDI5ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm8sIHVuYWJsZSB0byBzaWduCiMgTk9UIFVTRSAtIDMwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm8sIG5vIHJlYWN0aW9uCiMgTk9UIFVTRSAtIDMxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vLCBsb3N0CiMgTk9UIFVTRSAtIDMyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vLCB0b28gb2xkCiMgTk9UIFVTRSAtIDM0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB5ZXMsIG5vIG1lZGljYWwgaW5mbywgaGVhbHRoIHRyZWF0bWVudCB3aGVuIHBvc3NpYmxlCiMgTk9UIFVTRSAtIDM1ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm8gKG5ldmVyIGFza2VkIGZvciBJQyBiZWNhdXNlIHRoZXJlIHdhcyBubyB0aXNzdWUpCiMgVVNFIC0gMzYgICAgICAgICAgICAgICAgICAgIHllcywgbm8gbWVkaWNhbCBpbmZvLCBubyBjb21tZXJjaWFsIGJ1c2luZXNzLCBoZWFsdGggdHJlYXRtZW50IHdoZW4gcG9zc2libGUKIyBOT1QgVVNFIC0gMzcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBubywgZW5kcG9pbnQKIyBVU0UgLSAzOCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpbCBuaWV0cyBpbnZ1bGxlbiwgd2VsIGFsbGVzIGdlYnJ1aWtlbgojIFVTRSAtIDM5ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlY29uZCBpbmZvcm1lZCBjb25jZW50czogeWVzLCBubyBjb21tZXJjaWFsIGJ1c2luZXNzCiMgTk9UIFVTRSAtIDQwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm9vaXQgZ2VpbmNsdWRlZXJkCgpjYXQoIi0gc2FuaXR5IGNoZWNraW5nIFBSSU9SIHRvIHNlbGVjdGlvbiIpCmxpYnJhcnkoZGF0YS50YWJsZSkKYWUuZ2VuZGVyIDwtIGlmZWxzZShBRURCJEdlbmRlciA9PSAwLCAiRmVtYWxlIiwgIk1hbGUiKQphZS5ob3NwaXRhbCA8LSBpZmVsc2UoQUVEQiRIb3NwaXRhbCA9PSAxLCAiQW50b25pdXMiLCAiVU1DVSIpCnRhYmxlKGFlLmdlbmRlciwgYWUuaG9zcGl0YWwsIGRubiA9IGMoIlNleCIsICJIb3NwaXRhbCIpKQphZS5nZW5kZXIgPC0gaWZlbHNlKEFFREIkR2VuZGVyID09IDAsICJGZW1hbGUiLCAiTWFsZSIpCnRhYmxlKGFlLmdlbmRlciwgQUVEQiRBcnRlcnlfc3VtbWFyeSwgZG5uID0gYygiU2V4IiwgIkFydGVyeSIpKQojIHRhYmxlKGFlLmdlbmRlciwgQUVEQiRpbmZvcm1lZGNvbnNlbnQsIGRubiA9IGMoIlNleCIsICJJQyIpKQoKcm0oYWUuZ2VuZGVyLCBhZS5ob3NwaXRhbCkKCiMgSSBjaGFuZ2UgbnVtZXJpYyBhbmQgZmFjdG9ycyBtYW51YWxseSBiZWNhdXNlLCB3ZWxsLCBJIHdvdWxkbid0IGtub3cgaG93IHRvIGZpeCBpdCBvdGhlcndpc2UKIyB0byBoYXZlIHRoaXMgJ3RpYmJsZScgd29yayB3aXRoICd0YWJsZW9uZScuLi4gOi0pCgpBRURCJEFnZSA8LSBhcy5udW1lcmljKEFFREIkQWdlKQpBRURCJGRpYXN0b2xpIDwtIGFzLm51bWVyaWMoQUVEQiRkaWFzdG9saSkKQUVEQiRzeXN0b2xpYyA8LSBhcy5udW1lcmljKEFFREIkc3lzdG9saWMpCgpBRURCJFRDX2ZpbmFsQ1UgPC0gYXMubnVtZXJpYyhBRURCJFRDX2ZpbmFsQ1UpCkFFREIkTERMX2ZpbmFsQ1UgPC0gYXMubnVtZXJpYyhBRURCJExETF9maW5hbENVKQpBRURCJEhETF9maW5hbENVIDwtIGFzLm51bWVyaWMoQUVEQiRIRExfZmluYWxDVSkKQUVEQiRUR19maW5hbENVIDwtIGFzLm51bWVyaWMoQUVEQiRUR19maW5hbENVKQoKQUVEQiRUQ19maW5hbCA8LSBhcy5udW1lcmljKEFFREIkVENfZmluYWwpCkFFREIkTERMX2ZpbmFsIDwtIGFzLm51bWVyaWMoQUVEQiRMRExfZmluYWwpCkFFREIkSERMX2ZpbmFsIDwtIGFzLm51bWVyaWMoQUVEQiRIRExfZmluYWwpCkFFREIkVEdfZmluYWwgPC0gYXMubnVtZXJpYyhBRURCJFRHX2ZpbmFsKQoKQUVEQiRBZ2UgPC0gYXMubnVtZXJpYyhBRURCJEFnZSkKQUVEQiRHRlJfTURSRCA8LSBhcy5udW1lcmljKEFFREIkR0ZSX01EUkQpCkFFREIkQk1JIDwtIGFzLm51bWVyaWMoQUVEQiRCTUkpCkFFREIkZUNpZ2FyZXR0ZXMgPC0gYXMubnVtZXJpYyhBRURCJGVDaWdhcmV0dGVzKQpBRURCJGVQYWNrWWVhcnNTbW9raW5nIDwtIGFzLm51bWVyaWMoQUVEQiRlUGFja1llYXJzU21va2luZykKQUVEQiRFUF9jb21wb3NpdGVfdGltZSA8LSBhcy5udW1lcmljKEFFREIkRVBfY29tcG9zaXRlX3RpbWUpCgpBRURCJG1hY21lYW4wIDwtIGFzLm51bWVyaWMoQUVEQiRtYWNtZWFuMCkKQUVEQiRzbWNtZWFuMCA8LSBhcy5udW1lcmljKEFFREIkc21jbWVhbjApCkFFREIkbmV1dHJvcGhpbHMgPC0gYXMubnVtZXJpYyhBRURCJG5ldXRyb3BoaWxzKQpBRURCJE1hc3RfY2VsbHNfcGxhcXVlIDwtIGFzLm51bWVyaWMoQUVEQiRNYXN0X2NlbGxzX3BsYXF1ZSkKQUVEQiR2ZXNzZWxfZGVuc2l0eV9hdmVyYWdlZCA8LSBhcy5udW1lcmljKEFFREIkdmVzc2VsX2RlbnNpdHlfYXZlcmFnZWQpCgojIElMNiwgSUw2UiwgTUNQMSBtZWFzdXJlbWVudHMKQUVEQiRJTDYgPC0gYXMubnVtZXJpYyhBRURCJElMNikgIyBGQUNTIHBsYXF1ZQpBRURCJElMNl9wZ191Z18yMDE1IDwtIGFzLm51bWVyaWMoQUVEQiRJTDZfcGdfdWdfMjAxNSkgIyBMVU1JTkVYIHBsYXF1ZQpBRURCJElMNlJfcGdfdWdfMjAxNSA8LSBhcy5udW1lcmljKEFFREIkSUw2Ul9wZ191Z18yMDE1KSAjIExVTUlORVggcGxhcXVlCkFFREIkTUNQMSA8LSBhcy5udW1lcmljKEFFREIkTUNQMSkgIyBMVU1JTkVYIHBsYXF1ZQpBRURCJE1DUDFfcGdfdWdfMjAxNSA8LSBhcy5udW1lcmljKEFFREIkTUNQMV9wZ191Z18yMDE1KSAjIExVTUlORVggcGxhcXVlCkFFREIkTUNQMV9wZ19tbF8yMDE1IDwtIGFzLm51bWVyaWMoQUVEQiRNQ1AxX3BnX21sXzIwMTUpICMgTFVNSU5FWCBwbGFxdWUKQUVEQiRoc0NSUF9wbGFzbWEgPC0gYXMubnVtZXJpYyhBRURCJGhzQ1JQX3BsYXNtYSkgIyBMVU1JTkVYCgpBRURCJE1DUDFfcGxhc21hX29saW5rIDwtIGFzLm51bWVyaWMoQUVEQiRNQ1AxX3BsYXNtYV9vbGluaykgIyBPTElOSyBwbGFzbWEKCnJlcXVpcmUobGFiZWxsZWQpCkFFREIkT1J5ZWFyIDwtIHRvX2ZhY3RvcihBRURCJE9SeWVhcikKQUVEQiRHZW5kZXIgPC0gdG9fZmFjdG9yKEFFREIkR2VuZGVyKQpBRURCJEhvc3BpdGFsIDwtIHRvX2ZhY3RvcihBRURCJEhvc3BpdGFsKQpBRURCJEtET1FJIDwtIHRvX2ZhY3RvcihBRURCJEtET1FJKQpBRURCJEJNSV9XSE8gPC0gdG9fZmFjdG9yKEFFREIkQk1JX1dITykKQUVEQiREaWFiZXRlc1N0YXR1cyA8LSB0b19mYWN0b3IoQUVEQiREaWFiZXRlc1N0YXR1cykKQUVEQiRTbW9rZXJTdGF0dXMgPC0gdG9fZmFjdG9yKEFFREIkU21va2VyU3RhdHVzKQpBRURCJEFsY29ob2xVc2UgPC0gdG9fZmFjdG9yKEFFREIkQWxjb2hvbFVzZSkKCkFFREIkSHlwZXJ0ZW5zaW9uLnNlbGZyZXBvcnQgPC0gdG9fZmFjdG9yKEFFREIkSHlwZXJ0ZW5zaW9uMSkKQUVEQiRIeXBlcnRlbnNpb24uc2VsZnJlcG9ydGRydWcgPC0gdG9fZmFjdG9yKEFFREIkSHlwZXJ0ZW5zaW9uMikKQUVEQiRIeXBlcnRlbnNpb24uY29tcG9zaXRlIDwtIHRvX2ZhY3RvcihBRURCJEh5cGVydGVuc2lvbi5jb21wb3NpdGUpCkFFREIkSHlwZXJ0ZW5zaW9uLmRydWdzIDwtIHRvX2ZhY3RvcihBRURCJEh5cGVydGVuc2lvbi5kcnVncykKCkFFREIkTWVkLmFudGljb2FndWxhbnRzIDwtIHRvX2ZhY3RvcihBRURCJE1lZC5hbnRpY29hZ3VsYW50cykKQUVEQiRNZWQuYWxsLmFudGlwbGF0ZWxldCA8LSB0b19mYWN0b3IoQUVEQiRNZWQuYWxsLmFudGlwbGF0ZWxldCkKQUVEQiRNZWQuU3RhdGluLkxMRCA8LSB0b19mYWN0b3IoQUVEQiRNZWQuU3RhdGluLkxMRCkKCkFFREIkU3Ryb2tlX0R4IDwtIHRvX2ZhY3RvcihBRURCJFN0cm9rZV9EeCkKQUVEQiRDQURfaGlzdG9yeSA8LSB0b19mYWN0b3IoQUVEQiRDQURfaGlzdG9yeSkKQUVEQiRQQU9EIDwtIHRvX2ZhY3RvcihBRURCJFBBT0QpCkFFREIkUGVyaXBoZXJhbC5pbnRlcnYgPC0gdG9fZmFjdG9yKEFFREIkUGVyaXBoZXJhbC5pbnRlcnYpCkFFREIkTWVkSHhfQ1ZEIDwtIHRvX2ZhY3RvcihBRURCJE1lZEh4X0NWRCkKCgpBRURCJHN5bXB0IDwtIHRvX2ZhY3RvcihBRURCJHN5bXB0KQpBRURCJFN5bXB0b21zLjNnIDwtIHRvX2ZhY3RvcihBRURCJFN5bXB0b21zLjNnKQpBRURCJFN5bXB0b21zLjRnIDwtIHRvX2ZhY3RvcihBRURCJFN5bXB0b21zLjRnKQpBRURCJFN5bXB0b21zLjVHIDwtIHRvX2ZhY3RvcihBRURCJFN5bXB0b21zLjVHKQpBRURCJEFzeW1wdFN5bXB0IDwtIHRvX2ZhY3RvcihBRURCJEFzeW1wdFN5bXB0KQpBRURCJEFzeW1wdFN5bXB0MkcgPC0gdG9fZmFjdG9yKEFFREIkQXN5bXB0U3ltcHQyRykKCgpBRURCJHJlc3Rlbm9zIDwtIHRvX2ZhY3RvcihBRURCJHJlc3Rlbm9zKQpBRURCJHN0ZW5vc2UgPC0gdG9fZmFjdG9yKEFFREIkc3Rlbm9zZSkKQUVEQiRFUF9jb21wb3NpdGUgPC0gdG9fZmFjdG9yKEFFREIkRVBfY29tcG9zaXRlKQpBRURCJE1hY3JvcGhhZ2VzLmJpbiA8LSB0b19mYWN0b3IoQUVEQiRNYWNyb3BoYWdlcy5iaW4pCkFFREIkU01DLmJpbiA8LSB0b19mYWN0b3IoQUVEQiRTTUMuYmluKQpBRURCJElQSC5iaW4gPC0gdG9fZmFjdG9yKEFFREIkSVBILmJpbikKQUVEQiRDYWxjLmJpbiA8LSB0b19mYWN0b3IoQUVEQiRDYWxjLmJpbikKQUVEQiRDb2xsYWdlbi5iaW4gPC0gdG9fZmFjdG9yKEFFREIkQ29sbGFnZW4uYmluKQpBRURCJEZhdC5iaW5fMTAgPC0gdG9fZmFjdG9yKEFFREIkRmF0LmJpbl8xMCkKQUVEQiRGYXQuYmluXzQwIDwtIHRvX2ZhY3RvcihBRURCJEZhdC5iaW5fNDApCkFFREIkT3ZlcmFsbFBsYXF1ZVBoZW5vdHlwZSA8LSB0b19mYWN0b3IoQUVEQiRPdmVyYWxsUGxhcXVlUGhlbm90eXBlKQoKQUVEQiRBcnRlcnlfc3VtbWFyeSA8LSB0b19mYWN0b3IoQUVEQiRBcnRlcnlfc3VtbWFyeSkKCkFFREIkaW5mb3JtZWRjb25zZW50IDwtIHRvX2ZhY3RvcihBRURCJGluZm9ybWVkY29uc2VudCkKCkFFREIuQ0VBIDwtIHN1YnNldChBRURCLAogICAgICAgICAgICAgICAgICAgIChBcnRlcnlfc3VtbWFyeSA9PSAiY2Fyb3RpZCAobGVmdCAmIHJpZ2h0KSIgfCBBcnRlcnlfc3VtbWFyeSA9PSAib3RoZXIgY2Fyb3RpZCBhcnRlcmllcyAoY29tbW9uLCBleHRlcm5hbCkiKSAmICMgd2Ugb25seSB3YW50IGNhcm90aWRzCiAgICAgICAgICAgICAgICAgICAgICAgaW5mb3JtZWRjb25zZW50ICE9ICJtaXNzaW5nIiAmICMgd2UgYXJlIHJlYWxseSBzdHJpY3QgaW4gc2VsZWN0aW5nIGJhc2VkIG9uICdpbmZvcm1lZCBjb25zZW50JyEKICAgICAgICAgICAgICAgICAgICAgICBpbmZvcm1lZGNvbnNlbnQgIT0gIm5vLCBkaWVkIiAmCiAgICAgICAgICAgICAgICAgICAgICAgaW5mb3JtZWRjb25zZW50ICE9ICJ5ZXMsIG5vIHRpc3N1ZSwgbm8gY29tbWVyaWNhbCBidXNpbmVzcyIgJgogICAgICAgICAgICAgICAgICAgICAgIGluZm9ybWVkY29uc2VudCAhPSAieWVzLCBubyB0aXNzdWUsIG5vIHF1ZXN0aW9ubmFpcmVzLCBubyBtZWRpY2FsIGluZm8sIG5vIGNvbW1lcmNpYWwgYnVzaW5lc3MiICYKICAgICAgICAgICAgICAgICAgICAgICBpbmZvcm1lZGNvbnNlbnQgIT0gInllcywgbm8gdGlzc3VlLCBubyBxdWVzdGlvbm5haXJlcywgbm8gaGVhbHRoIHRyZWF0bWVudCwgbm8gY29tbWVyaWNhbCBidXNpbmVzcyIgJgogICAgICAgICAgICAgICAgICAgICAgIGluZm9ybWVkY29uc2VudCAhPSAieWVzLCBubyB0aXNzdWUsIG5vIHF1ZXN0aW9ubmFpcmVzLCBubyBoZWFsdGggdHJlYXRtZW50LCBubyBtZWRpY2FsIGluZm8sIG5vIGNvbW1lcmNpYWwgYnVzaW5lc3MiICYKICAgICAgICAgICAgICAgICAgICAgICBpbmZvcm1lZGNvbnNlbnQgIT0gInllcywgbm8gdGlzc3VlLCBubyBoZWFsdGggdHJlYXRtZW50IiAmCiAgICAgICAgICAgICAgICAgICAgICAgaW5mb3JtZWRjb25zZW50ICE9ICJ5ZXMsIG5vIHRpc3N1ZSwgbm8gcXVlc3Rpb25uYWlyZXMiICYKICAgICAgICAgICAgICAgICAgICAgICBpbmZvcm1lZGNvbnNlbnQgIT0gInllcywgbm8gdGlzc3VlLCBoZWFsdGggdHJlYXRtZW50IHdoZW4gcG9zc2libGUiICYKICAgICAgICAgICAgICAgICAgICAgICBpbmZvcm1lZGNvbnNlbnQgIT0gInllcywgbm8gdGlzc3VlIiAmCiAgICAgICAgICAgICAgICAgICAgICAgaW5mb3JtZWRjb25zZW50ICE9ICJ5ZXMsIG5vIHRpc3N1ZSwgbm8gcXVlc3Rpb25uYWlyZXMsIG5vIGhlYWx0aCB0cmVhdG1lbnQsIG5vIG1lZGljYWwgaW5mbyIgJgogICAgICAgICAgICAgICAgICAgICAgIGluZm9ybWVkY29uc2VudCAhPSAieWVzLCBubyB0aXNzdWUsIG5vIHF1ZXN0aW9ubmFpcmVzLCBubyBoZWFsdGggdHJlYXRtZW50LCBubyBjb21tZXJjaWFsIGJ1c2luZXNzIiAmCiAgICAgICAgICAgICAgICAgICAgICAgaW5mb3JtZWRjb25zZW50ICE9ICJubywgZG9lc24ndCB3YW50IHRvIiAmCiAgICAgICAgICAgICAgICAgICAgICAgaW5mb3JtZWRjb25zZW50ICE9ICJubywgdW5hYmxlIHRvIHNpZ24iICYKICAgICAgICAgICAgICAgICAgICAgICBpbmZvcm1lZGNvbnNlbnQgIT0gIm5vLCBubyByZWFjdGlvbiIgJgogICAgICAgICAgICAgICAgICAgICAgIGluZm9ybWVkY29uc2VudCAhPSAibm8sIGxvc3QiICYKICAgICAgICAgICAgICAgICAgICAgICBpbmZvcm1lZGNvbnNlbnQgIT0gIm5vLCB0b28gb2xkIiAmCiAgICAgICAgICAgICAgICAgICAgICAgaW5mb3JtZWRjb25zZW50ICE9ICJ5ZXMsIG5vIG1lZGljYWwgaW5mbywgaGVhbHRoIHRyZWF0bWVudCB3aGVuIHBvc3NpYmxlIiAmCiAgICAgICAgICAgICAgICAgICAgICAgaW5mb3JtZWRjb25zZW50ICE9ICJubyAobmV2ZXIgYXNrZWQgZm9yIElDIGJlY2F1c2UgdGhlcmUgd2FzIG5vIHRpc3N1ZSkiICYKICAgICAgICAgICAgICAgICAgICAgICBpbmZvcm1lZGNvbnNlbnQgIT0gIm5vLCBlbmRwb2ludCIgJgogICAgICAgICAgICAgICAgICAgICAgIGluZm9ybWVkY29uc2VudCAhPSAibm9vaXQgZ2VpbmNsdWRlZXJkIiAmIAogICAgICAgICAgICAgICAgICAgICAhaXMubmEoQXN5bXB0U3ltcHQyRykpCiMgQUVEQi5DRUFbMToxMCwgMToxMF0KZGltKEFFREIuQ0VBKQpgYGAKCmBgYHtyfQpjYXQoIj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiIpCmNhdCgiQ1JFQVRFIEJBU0VMSU5FIFRBQkxFXG4iKQoKIyBCYXNlbGluZSB0YWJsZSB2YXJpYWJsZXMKYmFzZXRhYmxlX3ZhcnMgPSBjKCJIb3NwaXRhbCIsICJPUnllYXIiLAogICAgICAgICAgICAgICAgICAgIkFnZSIsICJHZW5kZXIiLCAKICAgICAgICAgICAgICAgICAgICJUQ19maW5hbENVIiwgIkxETF9maW5hbENVIiwgIkhETF9maW5hbENVIiwgIlRHX2ZpbmFsQ1UiLCAKICAgICAgICAgICAgICAgICAgICJUQ19maW5hbCIsICJMRExfZmluYWwiLCAiSERMX2ZpbmFsIiwgIlRHX2ZpbmFsIiwgCiAgICAgICAgICAgICAgICAgICAiaHNDUlBfcGxhc21hIiwKICAgICAgICAgICAgICAgICAgICJzeXN0b2xpYyIsICJkaWFzdG9saSIsICJHRlJfTURSRCIsICJCTUkiLCAKICAgICAgICAgICAgICAgICAgICJLRE9RSSIsICJCTUlfV0hPIiwKICAgICAgICAgICAgICAgICAgICJTbW9rZXJTdGF0dXMiLCAiQWxjb2hvbFVzZSIsCiAgICAgICAgICAgICAgICAgICAiRGlhYmV0ZXNTdGF0dXMiLCAKICAgICAgICAgICAgICAgICAgICJIeXBlcnRlbnNpb24uc2VsZnJlcG9ydCIsICJIeXBlcnRlbnNpb24uc2VsZnJlcG9ydGRydWciLCAiSHlwZXJ0ZW5zaW9uLmNvbXBvc2l0ZSIsICJIeXBlcnRlbnNpb24uZHJ1Z3MiLCAKICAgICAgICAgICAgICAgICAgICJNZWQuYW50aWNvYWd1bGFudHMiLCAiTWVkLmFsbC5hbnRpcGxhdGVsZXQiLCAiTWVkLlN0YXRpbi5MTEQiLCAKICAgICAgICAgICAgICAgICAgICJTdHJva2VfRHgiLCAic3ltcHQiLCAiU3ltcHRvbXMuNUciLCAiQXN5bXB0U3ltcHQiLCAiQXN5bXB0U3ltcHQyRyIsCiAgICAgICAgICAgICAgICAgICAicmVzdGVub3MiLCAic3Rlbm9zZSIsCiAgICAgICAgICAgICAgICAgICAiTWVkSHhfQ1ZEIiwgIkNBRF9oaXN0b3J5IiwgIlBBT0QiLCAiUGVyaXBoZXJhbC5pbnRlcnYiLCAKICAgICAgICAgICAgICAgICAgICJFUF9jb21wb3NpdGUiLCAiRVBfY29tcG9zaXRlX3RpbWUiLAogICAgICAgICAgICAgICAgICAgIm1hY21lYW4wIiwgInNtY21lYW4wIiwgIk1hY3JvcGhhZ2VzLmJpbiIsICJTTUMuYmluIiwKICAgICAgICAgICAgICAgICAgICJuZXV0cm9waGlscyIsICJNYXN0X2NlbGxzX3BsYXF1ZSIsCiAgICAgICAgICAgICAgICAgICAiSVBILmJpbiIsICJ2ZXNzZWxfZGVuc2l0eV9hdmVyYWdlZCIsCiAgICAgICAgICAgICAgICAgICAiQ2FsYy5iaW4iLCAiQ29sbGFnZW4uYmluIiwgCiAgICAgICAgICAgICAgICAgICAiRmF0LmJpbl8xMCIsICJGYXQuYmluXzQwIiwgIk92ZXJhbGxQbGFxdWVQaGVub3R5cGUiLAogICAgICAgICAgICAgICAgICAgIklMNiIsICJJTDZfcGdfdWdfMjAxNSIsICJJTDZSX3BnX3VnXzIwMTUiLAogICAgICAgICAgICAgICAgICAgIk1DUDEiLCAiTUNQMV9wZ191Z18yMDE1IiwgIk1DUDFfcGdfbWxfMjAxNSIsCiAgICAgICAgICAgICAgICAgICAiTUNQMV9wbGFzbWFfb2xpbmsiKQoKYmFzZXRhYmxlX2JpbiA9IGMoIkdlbmRlciIsIAogICAgICAgICAgICAgICAgICAiS0RPUUkiLCAiQk1JX1dITyIsCiAgICAgICAgICAgICAgICAgICJTbW9rZXJTdGF0dXMiLCAiQWxjb2hvbFVzZSIsCiAgICAgICAgICAgICAgICAgICJEaWFiZXRlc1N0YXR1cyIsIAogICAgICAgICAgICAgICAgICAiSHlwZXJ0ZW5zaW9uLnNlbGZyZXBvcnQiLCAiSHlwZXJ0ZW5zaW9uLnNlbGZyZXBvcnRkcnVnIiwgIkh5cGVydGVuc2lvbi5jb21wb3NpdGUiLCAiSHlwZXJ0ZW5zaW9uLmRydWdzIiwgCiAgICAgICAgICAgICAgICAgICJNZWQuYW50aWNvYWd1bGFudHMiLCAiTWVkLmFsbC5hbnRpcGxhdGVsZXQiLCAiTWVkLlN0YXRpbi5MTEQiLCAKICAgICAgICAgICAgICAgICAgIlN0cm9rZV9EeCIsICJzeW1wdCIsICJTeW1wdG9tcy41RyIsICJBc3ltcHRTeW1wdCIsICJBc3ltcHRTeW1wdDJHIiwKICAgICAgICAgICAgICAgICAgInJlc3Rlbm9zIiwgInN0ZW5vc2UiLAogICAgICAgICAgICAgICAgICAiQ0FEX2hpc3RvcnkiLCAiUEFPRCIsICJQZXJpcGhlcmFsLmludGVydiIsIAogICAgICAgICAgICAgICAgICAiRVBfY29tcG9zaXRlIiwgIk1hY3JvcGhhZ2VzLmJpbiIsICJTTUMuYmluIiwKICAgICAgICAgICAgICAgICAgIklQSC5iaW4iLCAKICAgICAgICAgICAgICAgICAgIkNhbGMuYmluIiwgIkNvbGxhZ2VuLmJpbiIsIAogICAgICAgICAgICAgICAgICAiRmF0LmJpbl8xMCIsICJGYXQuYmluXzQwIiwgIk92ZXJhbGxQbGFxdWVQaGVub3R5cGUiKQojIGJhc2V0YWJsZV9iaW4KCmJhc2V0YWJsZV9jb24gPSBiYXNldGFibGVfdmFyc1shYmFzZXRhYmxlX3ZhcnMgJWluJSBiYXNldGFibGVfYmluXQojIGJhc2V0YWJsZV9jb24KYGBgCgojIyMgQWxsIHBhdGllbnRzClNob3dpbmcgdGhlIGJhc2VsaW5lIHRhYmxlIG9mIHRoZSB3aG9sZSBBdGhlcm8tRXhwcmVzcyBCaW9iYW5rLgoKYGBge3IgQmFzZWxpbmUgQUVEQjogVmlzdWFsaXplIEFFREJ9CiMgQ3JlYXRlIGJhc2VsaW5lIHRhYmxlcwojIGh0dHA6Ly9yc3R1ZGlvLXB1YnMtc3RhdGljLnMzLmFtYXpvbmF3cy5jb20vMTMzMjFfZGEzMTQ2MzNkYjkyNGRjNzg5ODZhODUwODEzYTUwZDUuaHRtbApBRURCLnRhYmxlT25lID0gcHJpbnQoQ3JlYXRlVGFibGVPbmUodmFycyA9IGJhc2V0YWJsZV92YXJzLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIGZhY3RvclZhcnMgPSBiYXNldGFibGVfYmluLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgc3RyYXRhID0gIlN5bXB0b21zLjRnIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhID0gQUVEQiwgaW5jbHVkZU5BID0gVFJVRSksIAogICAgICAgICAgICAgICAgICAgICAgICAgIG5vbm5vcm1hbCA9IGMoKSwgbWlzc2luZyA9IFRSVUUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgcXVvdGUgPSBGQUxTRSwgbm9TcGFjZXMgPSBGQUxTRSwgc2hvd0FsbExldmVscyA9IFRSVUUsIGV4cGxhaW4gPSBUUlVFLCAKICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JtYXQgPSAicGYiLCAKICAgICAgICAgICAgICAgICAgICAgICAgICBjb250RGlnaXRzID0gMylbLDE6M10KYGBgCgojIyMgQ0VBIHBhdGllbnRzCgpTaG93aW5nIHRoZSBiYXNlbGluZSB0YWJsZSBvZiB0aGUgQ0VBIHBhdGllbnRzIGluIHRoZSBBdGhlcm8tRXhwcmVzcyBCaW9iYW5rLgoKYGBge3IgQmFzZWxpbmUgQUVEQjogVmlzdWFsaXplIEFFREIgQ0VBfQojIENyZWF0ZSBiYXNlbGluZSB0YWJsZXMKIyBodHRwOi8vcnN0dWRpby1wdWJzLXN0YXRpYy5zMy5hbWF6b25hd3MuY29tLzEzMzIxX2RhMzE0NjMzZGI5MjRkYzc4OTg2YTg1MDgxM2E1MGQ1Lmh0bWwKQUVEQi5DRUEudGFibGVPbmUgPSBwcmludChDcmVhdGVUYWJsZU9uZSh2YXJzID0gYmFzZXRhYmxlX3ZhcnMsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgZmFjdG9yVmFycyA9IGJhc2V0YWJsZV9iaW4sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBzdHJhdGEgPSAiU3ltcHRvbXMuNGciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEgPSBBRURCLkNFQSwgaW5jbHVkZU5BID0gVFJVRSksIAogICAgICAgICAgICAgICAgICAgICAgICAgIG5vbm5vcm1hbCA9IGMoKSwgbWlzc2luZyA9IFRSVUUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgcXVvdGUgPSBGQUxTRSwgbm9TcGFjZXMgPSBGQUxTRSwgc2hvd0FsbExldmVscyA9IFRSVUUsIGV4cGxhaW4gPSBUUlVFLCAKICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JtYXQgPSAicGYiLCAKICAgICAgICAgICAgICAgICAgICAgICAgICBjb250RGlnaXRzID0gMylbLDE6M10KYGBgCgojIyMgQ0VBIHBhdGllbnRzIHdpdGggYE1DUDFfcGdfdWdfMjAxNWAKClNob3dpbmcgdGhlIGJhc2VsaW5lIHRhYmxlIG9mIHRoZSBDRUEgcGF0aWVudHMgaW4gdGhlIEF0aGVyby1FeHByZXNzIEJpb2Jhbmsgd2l0aCBgTUNQMV9wZ191Z18yMDE1YC4KCmBgYHtyIEJhc2VsaW5lIEFFREI6IFZpc3VhbGl6ZSBzdWJzZXRDRUF9CkFFREIuQ0VBLnN1YnNldCA8LSBzdWJzZXQoQUVEQi5DRUEsICFpcy5uYShNQ1AxX3BnX3VnXzIwMTUpKQoKQUVEQi5DRUEuc3Vic2V0LkFzeW1wdFN5bXB0LnRhYmxlT25lID0gcHJpbnQoQ3JlYXRlVGFibGVPbmUodmFycyA9IGJhc2V0YWJsZV92YXJzLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIGZhY3RvclZhcnMgPSBiYXNldGFibGVfYmluLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cmF0YSA9ICJBc3ltcHRTeW1wdDJHIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhID0gQUVEQi5DRUEuc3Vic2V0LCBpbmNsdWRlTkEgPSBUUlVFKSwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgbm9ubm9ybWFsID0gYygpLCBtaXNzaW5nID0gVFJVRSwKICAgICAgICAgICAgICAgICAgICAgICAgICBxdW90ZSA9IEZBTFNFLCBub1NwYWNlcyA9IEZBTFNFLCBzaG93QWxsTGV2ZWxzID0gVFJVRSwgZXhwbGFpbiA9IFRSVUUsIAogICAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1hdCA9ICJwZiIsIAogICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnREaWdpdHMgPSAzKVssMTo2XQpgYGAKCiMjIyBDRUEgcGF0aWVudHMgd2l0aCBgTUNQMV9wZ191Z18yMDE1YCBhbmQgYE1DUDFgCgpTaG93aW5nIHRoZSBiYXNlbGluZSB0YWJsZSBvZiB0aGUgQ0VBIHBhdGllbnRzIGluIHRoZSBBdGhlcm8tRXhwcmVzcyBCaW9iYW5rIHdpdGggYE1DUDFfcGdfdWdfMjAxNWAgX2FuZF8gYE1DUDFgLgoKYGBge3IgQmFzZWxpbmUgQUVEQjogVmlzdWFsaXplIHN1YnNldENFQSB3aXRoIE1DUDF9CgpBRURCLkNFQS5zdWJzZXQuY29tYm8gPC0gc3Vic2V0KEFFREIuQ0VBLCAhaXMubmEoTUNQMV9wZ191Z18yMDE1KSB8ICFpcy5uYShNQ1AxKSkKCkFFREIuQ0VBLnN1YnNldC5jb21iby50YWJsZU9uZSA9IHByaW50KENyZWF0ZVRhYmxlT25lKHZhcnMgPSBiYXNldGFibGVfdmFycywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIGZhY3RvclZhcnMgPSBiYXNldGFibGVfYmluLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cmF0YSA9ICJBc3ltcHRTeW1wdDJHIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhID0gQUVEQi5DRUEuc3Vic2V0LmNvbWJvLCBpbmNsdWRlTkEgPSBUUlVFKSwKICAgICAgICAgICAgICAgICAgICAgICAgICBub25ub3JtYWwgPSBjKCksIG1pc3NpbmcgPSBUUlVFLAogICAgICAgICAgICAgICAgICAgICAgICAgIHF1b3RlID0gRkFMU0UsIG5vU3BhY2VzID0gRkFMU0UsIHNob3dBbGxMZXZlbHMgPSBUUlVFLCBleHBsYWluID0gVFJVRSwKICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JtYXQgPSAicGYiLAogICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnREaWdpdHMgPSAzKVssMTo2XQpgYGAKCiMjIyBDRUEgcGF0aWVudHMgd2l0aCBwbGFzbWEgTUNQMSBsZXZlbHMKClNob3dpbmcgdGhlIGJhc2VsaW5lIHRhYmxlIG9mIHRoZSBDRUEgcGF0aWVudHMgaW4gdGhlIEF0aGVyby1FeHByZXNzIEJpb2Jhbmsgd2l0aCBwbGFzbWEgTUNQMSBsZXZlbHMuIAoKPiBOb3RlIHBsYXNtYSBNQ1AxIHdhcyBvbmx5IG1lYXN1cmVkIGluIHN5bXB0b21hdGljIHBhdGllbnRzLgoKYGBge3IgQmFzZWxpbmUgQUVEQjogVmlzdWFsaXplIHN1YnNldENFQSB3aXRoIHBsYXNtYSBNQ1AxfQpBRURCLkNFQS5zdWJzZXQucGxhc21hIDwtIHN1YnNldChBRURCLkNFQSwgIWlzLm5hKE1DUDFfcGxhc21hX29saW5rKSkKCkFFREIuQ0VBLnN1YnNldC5wbGFzbWEudGFibGVPbmUgPSBwcmludChDcmVhdGVUYWJsZU9uZSh2YXJzID0gYmFzZXRhYmxlX3ZhcnMsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgZmFjdG9yVmFycyA9IGJhc2V0YWJsZV9iaW4sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBzdHJhdGEgPSAiQXN5bXB0U3ltcHQyRyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YSA9IEFFREIuQ0VBLnN1YnNldC5wbGFzbWEsIGluY2x1ZGVOQSA9IFRSVUUpLCAKICAgICAgICAgICAgICAgICAgICAgICAgICBub25ub3JtYWwgPSBjKCksIG1pc3NpbmcgPSBUUlVFLAogICAgICAgICAgICAgICAgICAgICAgICAgIHF1b3RlID0gRkFMU0UsIG5vU3BhY2VzID0gRkFMU0UsIHNob3dBbGxMZXZlbHMgPSBUUlVFLCBleHBsYWluID0gVFJVRSwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgZm9ybWF0ID0gInBmIiwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgY29udERpZ2l0cyA9IDMpWywxOjNdCmBgYAoKCiMjIyBDRUEgcGF0aWVudHMgd2l0aCBwbGFzbWEgX2FuZF8gcGxhcXVlIE1DUDEgbGV2ZWxzCgpTaG93aW5nIHRoZSBiYXNlbGluZSB0YWJsZSBvZiB0aGUgQ0VBIHBhdGllbnRzIGluIHRoZSBBdGhlcm8tRXhwcmVzcyBCaW9iYW5rIHdpdGggYm90aCBwbGFzbWEgYW5kIHBsYXF1ZSBNQ1AxIGxldmVscy4KCj4gTm90ZSBwbGFzbWEgTUNQMSBsZXZlbHMgd2VyZSBvbmx5IG1lYXN1cmVkIGluIHN5bXB0b21hdGljIHBhdGllbnRzCgpgYGB7ciBCYXNlbGluZSBBRURCOiBWaXN1YWxpemUgc3Vic2V0Q0VBIHdpdGggcGxhc21hIE1DUDEgYW5kIHBsYXF1ZSBNQ1AxfQpBRURCLkNFQS5zdWJzZXQuYm90aCA8LSBzdWJzZXQoQUVEQi5DRUEsICFpcy5uYShNQ1AxX3BnX3VnXzIwMTUpICYgIWlzLm5hKE1DUDFfcGxhc21hX29saW5rKSkKCkFFREIuQ0VBLnN1YnNldC5ib3RoLnRhYmxlT25lID0gcHJpbnQoQ3JlYXRlVGFibGVPbmUodmFycyA9IGJhc2V0YWJsZV92YXJzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgZmFjdG9yVmFycyA9IGJhc2V0YWJsZV9iaW4sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBzdHJhdGEgPSAiQXN5bXB0U3ltcHQyRyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YSA9IEFFREIuQ0VBLnN1YnNldC5ib3RoLCBpbmNsdWRlTkEgPSBUUlVFKSwKICAgICAgICAgICAgICAgICAgICAgICAgICBub25ub3JtYWwgPSBjKCksIG1pc3NpbmcgPSBUUlVFLAogICAgICAgICAgICAgICAgICAgICAgICAgIHF1b3RlID0gRkFMU0UsIG5vU3BhY2VzID0gRkFMU0UsIHNob3dBbGxMZXZlbHMgPSBUUlVFLCBleHBsYWluID0gVFJVRSwKICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JtYXQgPSAicGYiLAogICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnREaWdpdHMgPSAzKVssMTozXQpgYGAKCldyaXRpbmcgdGhlIGJhc2VsaW5lIHRhYmxlIHRvIEV4Y2VsIGZvcm1hdC4gCmBgYHtyIEJhc2VsaW5lIEFFREI6IHdyaXRlfQojIFdyaXRlIGJhc2V0YWJsZQpyZXF1aXJlKG9wZW54bHN4KQoKd3JpdGUueGxzeChmaWxlID0gcGFzdGUwKEJBU0VMSU5FX2xvYywgIi8iLFRvZGF5LCIuIixQUk9KRUNUTkFNRSwiLkFFLkJhc2VsaW5lVGFibGUud2hvbGVDRUEueGxzeCIpLAogICAgICAgICAgIEFFREIuQ0VBLnRhYmxlT25lLCAKICAgICAgICAgICByb3cubmFtZXMgPSBUUlVFLCAKICAgICAgICAgICBjb2wubmFtZXMgPSBUUlVFLCAKICAgICAgICAgICBzaGVldE5hbWUgPSAid2hvbGVBRURCX0Jhc2VsaW5lIikKCndyaXRlLnhsc3goZmlsZSA9IHBhc3RlMChCQVNFTElORV9sb2MsICIvIixUb2RheSwiLiIsUFJPSkVDVE5BTUUsIi5BRS5CYXNlbGluZVRhYmxlLndob2xlQ0VBLkFzeW1wdFN5bXB0Lnhsc3giKSwKICAgICAgICAgICBBRURCLkNFQS5zdWJzZXQuQXN5bXB0U3ltcHQudGFibGVPbmUsIAogICAgICAgICAgIHJvdy5uYW1lcyA9IFRSVUUsIAogICAgICAgICAgIGNvbC5uYW1lcyA9IFRSVUUsIAogICAgICAgICAgIHNoZWV0TmFtZSA9ICJ3aG9sZUFFREJfQmFzZWxpbmVfU3ltcHQiKQoKd3JpdGUueGxzeChmaWxlID0gcGFzdGUwKEJBU0VMSU5FX2xvYywgIi8iLFRvZGF5LCIuIixQUk9KRUNUTkFNRSwiLkFFLkJhc2VsaW5lVGFibGUuc3Vic2V0Q0VBLnhsc3giKSwKICAgICAgICAgICBBRURCLkNFQS5zdWJzZXQuY29tYm8udGFibGVPbmUsCiAgICAgICAgICAgcm93Lm5hbWVzID0gVFJVRSwKICAgICAgICAgICBjb2wubmFtZXMgPSBUUlVFLAogICAgICAgICAgIHNoZWV0TmFtZSA9ICJzdWJzZXRBRURCX0Jhc2VsaW5lIikKCndyaXRlLnhsc3goZmlsZSA9IHBhc3RlMChCQVNFTElORV9sb2MsICIvIixUb2RheSwiLiIsUFJPSkVDVE5BTUUsIi5BRS5CYXNlbGluZVRhYmxlLnN1YnNldENFQXBsYXNtYS54bHN4IiksCiAgICAgICAgICAgQUVEQi5DRUEuc3Vic2V0LnBsYXNtYS50YWJsZU9uZSwKICAgICAgICAgICByb3cubmFtZXMgPSBUUlVFLAogICAgICAgICAgIGNvbC5uYW1lcyA9IFRSVUUsCiAgICAgICAgICAgc2hlZXROYW1lID0gInN1YnNldEFFREJfQmFzZWxpbmVfcGxhc21hIikKCmBgYAoKCiMjIERhdGEgZXhwbG9yYXRpb24KCkhlcmUgd2UgaW5zcGVjdCB0aGUgZGF0YSBhbmQgd2hlbiBuZWNlc3NhcnkgdHJhbnNmb3JtIHF1YW50aXRhdGl2ZSBtZWFzdXJlcy4gV2Ugd2lsbCBpbnNwZWN0IHRoZSByYXcsIG5hdHVyYWwgbG9nIHRyYW5zZm9ybWVkICsgdGhlIHNtYWxsZXN0IG1lYXN1cmVtZW50LCBhbmQgaW52ZXJzZS1ub3JtYWwgdHJhbnNmb3JtYXRpb24uIAoKIyMjIE1DUDEgcGxhcXVlIGxldmVsczogZXhwZXJpbWVudCAyCgpXZSB3aWxsIGV4cGxvcmUgdGhlIHBsYXF1ZSBsZXZlbHMuIEFzIG5vdGVkIGFib3ZlLCB3ZSB3aWxsIHVzZSBgTUNQMV9wZ191Z18yMDE1YCwgdGhpcyB3YXMgZXhwZXJpbWVudCAyIGluIDIwMTUgb24gdGhlIExVTUlORVgtcGxhdGZvcm0gYW5kIG1lYXN1cmVtZW50cyB3ZXJlIGNvcnJlY3RlZCBmb3IgdG90YWwgcGxhcXVlIHByb3RlaW4gY29udGVudC4KCmBgYHtyIERhdGFFeHBsb3JhdGlvbjogTUNQMSBwbGFxdWUgRXhwMn0KCnN1bW1hcnkoQUVEQi5DRUEkTUNQMV9wZ191Z18yMDE1KQoKZG8uY2FsbChyYmluZCAsIGJ5KEFFREIuQ0VBJE1DUDFfcGdfdWdfMjAxNSwgQUVEQi5DRUEkQXN5bXB0U3ltcHQyRywgc3VtbWFyeSkpCgoKc3VtbWFyeShBRURCLkNFQSRNQ1AxX3BnX21sXzIwMTUpCgpkby5jYWxsKHJiaW5kICwgYnkoQUVEQi5DRUEkTUNQMV9wZ19tbF8yMDE1LCBBRURCLkNFQSRBc3ltcHRTeW1wdDJHLCBzdW1tYXJ5KSkKYGBgCgpgYGB7ciBEYXRhRXhwbG9yYXRpb246IE1DUDEgcGxhcXVlIEV4cDIgdmlzdWFsfQpsaWJyYXJ5KHBhdGNod29yaykKcDEgPC0gZ2dwdWJyOjpnZ2hpc3RvZ3JhbShBRURCLkNFQSwgIk1DUDFfcGdfdWdfMjAxNSIsIAogICAgICAgICAgICAgICAgICAgICMgeSA9ICIuLmNvdW50Li4iLCAKICAgICAgICAgICAgICAgICAgICBjb2xvciA9ICJ3aGl0ZSIsCiAgICAgICAgICAgICAgICAgICAgZmlsbCA9ICJHZW5kZXIiLAogICAgICAgICAgICAgICAgICAgIHBhbGV0dGUgPSBjKCIjMTI5MEQ5IiwgIiNEQjAwM0YiKSwgCiAgICAgICAgICAgICAgICAgICAgIyBhZGQgPSAibWVhbiIsIAogICAgICAgICAgICAgICAgICAgICMgcnVnID0gVFJVRSwKICAgICAgICAgICAgICAgICAgICAjIGFkZC5wYXJhbXMgPSAgbGlzdChjb2xvciA9ICJibGFjayIsIGxpbmV0eXBlID0gMiksIAogICAgICAgICAgICAgICAgICAgIHRpdGxlID0gIk1DUDEgcGxhcXVlIGxldmVscyIsCiAgICAgICAgICAgICAgICAgICAgeGxhYiA9ICJwZy91ZyIsIAogICAgICAgICAgICAgICAgICAgIGdndGhlbWUgPSB0aGVtZV9taW5pbWFsKCkpCgptaW5fTUNQMV9wZ191Z18yMDE1IDwtIG1pbihBRURCLkNFQSRNQ1AxX3BnX3VnXzIwMTUsIG5hLnJtID0gVFJVRSkKbWluX01DUDFfcGdfdWdfMjAxNQoKQUVEQi5DRUEkTUNQMV9wZ191Z18yMDE1X0xOIDwtIGxvZyhBRURCLkNFQSRNQ1AxX3BnX3VnXzIwMTUgKyBtaW5fTUNQMV9wZ191Z18yMDE1KQpwMiA8LSBnZ3B1YnI6OmdnaGlzdG9ncmFtKEFFREIuQ0VBLCAiTUNQMV9wZ191Z18yMDE1X0xOIiwgCiAgICAgICAgICAgICAgICAgICAgIyB5ID0gIi4uY291bnQuLiIsIAogICAgICAgICAgICAgICAgICAgIGNvbG9yID0gIndoaXRlIiwKICAgICAgICAgICAgICAgICAgICBmaWxsID0gIkdlbmRlciIsCiAgICAgICAgICAgICAgICAgICAgcGFsZXR0ZSA9IGMoIiMxMjkwRDkiLCAiI0RCMDAzRiIpLCAKICAgICAgICAgICAgICAgICAgICAjIGFkZCA9ICJtZWFuIiwgCiAgICAgICAgICAgICAgICAgICAgIyBydWcgPSBUUlVFLAogICAgICAgICAgICAgICAgICAgICMgYWRkLnBhcmFtcyA9ICBsaXN0KGNvbG9yID0gImJsYWNrIiwgbGluZXR5cGUgPSAyKSwgCiAgICAgICAgICAgICAgICAgICAgIyB0aXRsZSA9ICJNQ1AxIHBsYXF1ZSBsZXZlbHMiLAogICAgICAgICAgICAgICAgICAgIHhsYWIgPSAibmF0dXJhbCBsb2ctdHJhbnNmb3JtZWQgcGcvdWciLCAKICAgICAgICAgICAgICAgICAgICBnZ3RoZW1lID0gdGhlbWVfbWluaW1hbCgpKQoKQUVEQi5DRUEkTUNQMV9wZ191Z18yMDE1X3JhbmsgPC0gcW5vcm0oKHJhbmsoQUVEQi5DRUEkTUNQMV9wZ191Z18yMDE1LCBuYS5sYXN0ID0gImtlZXAiKSAtIDAuNSkgLyBzdW0oIWlzLm5hKEFFREIuQ0VBJE1DUDFfcGdfdWdfMjAxNSkpKQpwMyA8LSBnZ3B1YnI6OmdnaGlzdG9ncmFtKEFFREIuQ0VBLCAiTUNQMV9wZ191Z18yMDE1X3JhbmsiLAogICAgICAgICAgICAgICAgICAgICMgeSA9ICIuLmNvdW50Li4iLAogICAgICAgICAgICAgICAgICAgIGNvbG9yID0gIndoaXRlIiwKICAgICAgICAgICAgICAgICAgICBmaWxsID0gIkdlbmRlciIsCiAgICAgICAgICAgICAgICAgICAgcGFsZXR0ZSA9IGMoIiMxMjkwRDkiLCAiI0RCMDAzRiIpLAogICAgICAgICAgICAgICAgICAgIGFkZCA9ICJtZWFuIiwKICAgICAgICAgICAgICAgICAgICAjIHJ1ZyA9IFRSVUUsCiAgICAgICAgICAgICAgICAgICAgIyBhZGQucGFyYW1zID0gIGxpc3QoY29sb3IgPSAiYmxhY2siLCBsaW5ldHlwZSA9IDIpLAogICAgICAgICAgICAgICAgICAgIHRpdGxlID0gIk1DUDEgcGxhcXVlIGxldmVscyIsCiAgICAgICAgICAgICAgICAgICAgeGxhYiA9ICJpbnZlcnNlLW5vcm1hbCB0cmFuc2Zvcm1hdGlvbiBwZy91ZyIsCiAgICAgICAgICAgICAgICAgICAgZ2d0aGVtZSA9IHRoZW1lX21pbmltYWwoKSkKCnAxIApwMiAKcDMKIyBnZ3BhcihwMSwgbGVnZW5kID0gIiIpIC8gZ2dwYXIocDIsIGxlZ2VuZCA9ICIiKSAgfCBnZ3BhcihwMywgbGVnZW5kID0gInJpZ2h0IikKCnJtKHAxLCBwMiwgcDMpCmBgYAoKV2Ugd2lsbCBleHBsb3JlIHRoZSBgTUNQMV9wZ19tbF8yMDE1YCBsZXZlbHMgYW5kIGNvbXBhcmUgdG8gdGhlIHByb3RlaW4gY29udGVudCBjb3JyZWN0ZWQgb25lcy4gCgpgYGB7ciBEYXRhRXhwbG9yYXRpb246IE1DUDEgcGxhcXVlIHBnLW1sIEV4cDIgdmlzdWFsfQpsaWJyYXJ5KHBhdGNod29yaykKcDEgPC0gZ2dwdWJyOjpnZ2hpc3RvZ3JhbShBRURCLkNFQSwgIk1DUDFfcGdfbWxfMjAxNSIsIAogICAgICAgICAgICAgICAgICAgICMgeSA9ICIuLmNvdW50Li4iLCAKICAgICAgICAgICAgICAgICAgICBjb2xvciA9ICJ3aGl0ZSIsCiAgICAgICAgICAgICAgICAgICAgZmlsbCA9ICJHZW5kZXIiLAogICAgICAgICAgICAgICAgICAgIHBhbGV0dGUgPSBjKCIjMTI5MEQ5IiwgIiNEQjAwM0YiKSwgCiAgICAgICAgICAgICAgICAgICAgIyBhZGQgPSAibWVhbiIsIAogICAgICAgICAgICAgICAgICAgICMgcnVnID0gVFJVRSwKICAgICAgICAgICAgICAgICAgICAjIGFkZC5wYXJhbXMgPSAgbGlzdChjb2xvciA9ICJibGFjayIsIGxpbmV0eXBlID0gMiksIAogICAgICAgICAgICAgICAgICAgIHRpdGxlID0gIk1DUDEgcGxhcXVlIGxldmVscyIsCiAgICAgICAgICAgICAgICAgICAgeGxhYiA9ICJwZy9tTCIsIAogICAgICAgICAgICAgICAgICAgIGdndGhlbWUgPSB0aGVtZV9taW5pbWFsKCkpCgptaW5fTUNQMV9wZ19tbF8yMDE1IDwtIG1pbihBRURCLkNFQSRNQ1AxX3BnX21sXzIwMTUsIG5hLnJtID0gVFJVRSkKbWluX01DUDFfcGdfbWxfMjAxNQoKQUVEQi5DRUEkTUNQMV9wZ19tbF8yMDE1X0xOIDwtIGxvZyhBRURCLkNFQSRNQ1AxX3BnX21sXzIwMTUgKyBtaW5fTUNQMV9wZ19tbF8yMDE1KQpwMiA8LSBnZ3B1YnI6OmdnaGlzdG9ncmFtKEFFREIuQ0VBLCAiTUNQMV9wZ19tbF8yMDE1X0xOIiwgCiAgICAgICAgICAgICAgICAgICAgIyB5ID0gIi4uY291bnQuLiIsIAogICAgICAgICAgICAgICAgICAgIGNvbG9yID0gIndoaXRlIiwKICAgICAgICAgICAgICAgICAgICBmaWxsID0gIkdlbmRlciIsCiAgICAgICAgICAgICAgICAgICAgcGFsZXR0ZSA9IGMoIiMxMjkwRDkiLCAiI0RCMDAzRiIpLCAKICAgICAgICAgICAgICAgICAgICAjIGFkZCA9ICJtZWFuIiwgCiAgICAgICAgICAgICAgICAgICAgIyBydWcgPSBUUlVFLAogICAgICAgICAgICAgICAgICAgICMgYWRkLnBhcmFtcyA9ICBsaXN0KGNvbG9yID0gImJsYWNrIiwgbGluZXR5cGUgPSAyKSwgCiAgICAgICAgICAgICAgICAgICAgIyB0aXRsZSA9ICJNQ1AxIHBsYXF1ZSBsZXZlbHMiLAogICAgICAgICAgICAgICAgICAgIHhsYWIgPSAibmF0dXJhbCBsb2ctdHJhbnNmb3JtZWQgcGcvbUwiLCAKICAgICAgICAgICAgICAgICAgICBnZ3RoZW1lID0gdGhlbWVfbWluaW1hbCgpKQoKQUVEQi5DRUEkTUNQMV9wZ19tbF8yMDE1X3JhbmsgPC0gcW5vcm0oKHJhbmsoQUVEQi5DRUEkTUNQMV9wZ19tbF8yMDE1LCBuYS5sYXN0ID0gImtlZXAiKSAtIDAuNSkgLyBzdW0oIWlzLm5hKEFFREIuQ0VBJE1DUDFfcGdfbWxfMjAxNSkpKQpwMyA8LSBnZ3B1YnI6OmdnaGlzdG9ncmFtKEFFREIuQ0VBLCAiTUNQMV9wZ19tbF8yMDE1X3JhbmsiLAogICAgICAgICAgICAgICAgICAgICMgeSA9ICIuLmNvdW50Li4iLAogICAgICAgICAgICAgICAgICAgIGNvbG9yID0gIndoaXRlIiwKICAgICAgICAgICAgICAgICAgICBmaWxsID0gIkdlbmRlciIsCiAgICAgICAgICAgICAgICAgICAgcGFsZXR0ZSA9IGMoIiMxMjkwRDkiLCAiI0RCMDAzRiIpLAogICAgICAgICAgICAgICAgICAgIGFkZCA9ICJtZWFuIiwKICAgICAgICAgICAgICAgICAgICAjIHJ1ZyA9IFRSVUUsCiAgICAgICAgICAgICAgICAgICAgIyBhZGQucGFyYW1zID0gIGxpc3QoY29sb3IgPSAiYmxhY2siLCBsaW5ldHlwZSA9IDIpLAogICAgICAgICAgICAgICAgICAgIHRpdGxlID0gIk1DUDEgcGxhcXVlIGxldmVscyIsCiAgICAgICAgICAgICAgICAgICAgeGxhYiA9ICJpbnZlcnNlLW5vcm1hbCB0cmFuc2Zvcm1hdGlvbiBwZy9tTCIsCiAgICAgICAgICAgICAgICAgICAgZ2d0aGVtZSA9IHRoZW1lX21pbmltYWwoKSkKCnAxIApwMiAKcDMKIyBnZ3BhcihwMSwgbGVnZW5kID0gIiIpIC8gZ2dwYXIocDIsIGxlZ2VuZCA9ICIiKSAgfCBnZ3BhcihwMywgbGVnZW5kID0gInJpZ2h0IikKCnJtKHAxLCBwMiwgcDMpCmBgYAoKIyMjIE1DUDEgcGxhcXVlIGxldmVsczogZXhwZXJpbWVudCAxCgpXZSB3aWxsIGV4cGxvcmUgdGhlIHBsYXF1ZSBsZXZlbHMuIEFzIG5vdGVkIGFib3ZlLCB3ZSB3aWxsIHVzZSBgTUNQMWAsIHRoaXMgd2FzIGV4cGVyaW1lbnQgMSBvbiB0aGUgTFVNSU5FWC1wbGF0Zm9ybSBhbmQgbWVhc3VyZW1lbnRzIHdlcmUgY29ycmVjdGVkIGZvciB0b3RhbCBwbGFxdWUgcHJvdGVpbiBjb250ZW50LgoKYGBge3IgRGF0YUV4cGxvcmF0aW9uOiBNQ1AxIHBsYXF1ZSBFeHAxfQoKIyBzdW1tYXJ5KEFFREIuQ0VBJE1DUDEpCiMgCiMgZG8uY2FsbChyYmluZCAsIGJ5KEFFREIuQ0VBJE1DUDEsIEFFREIuQ0VBJEFzeW1wdFN5bXB0MkcsIHN1bW1hcnkpKQojIAphdHRhY2goQUVEQi5DRUEpCkFFREIuQ0VBJE1DUDFbTUNQMSA9PSAwXSA8LSBOQQpkZXRhY2goQUVEQi5DRUEpCgpzdW1tYXJ5KEFFREIuQ0VBJE1DUDEpCgpkby5jYWxsKHJiaW5kICwgYnkoQUVEQi5DRUEkTUNQMSwgQUVEQi5DRUEkQXN5bXB0U3ltcHQyRywgc3VtbWFyeSkpCgpgYGAKCmBgYHtyIERhdGFFeHBsb3JhdGlvbjogTUNQMSBwbGFxdWUgRXhwMSB2aXN1YWx9CnAxIDwtIGdncHVicjo6Z2doaXN0b2dyYW0oQUVEQi5DRUEsICJNQ1AxIiwgCiAgICAgICAgICAgICAgICAgICAgIyB5ID0gIi4uY291bnQuLiIsIAogICAgICAgICAgICAgICAgICAgIGNvbG9yID0gIndoaXRlIiwKICAgICAgICAgICAgICAgICAgICBmaWxsID0gIkdlbmRlciIsCiAgICAgICAgICAgICAgICAgICAgcGFsZXR0ZSA9IGMoIiMxMjkwRDkiLCAiI0RCMDAzRiIpLCAKICAgICAgICAgICAgICAgICAgICAjIGFkZCA9ICJtZWFuIiwgCiAgICAgICAgICAgICAgICAgICAgIyBydWcgPSBUUlVFLAogICAgICAgICAgICAgICAgICAgICMgYWRkLnBhcmFtcyA9ICBsaXN0KGNvbG9yID0gImJsYWNrIiwgbGluZXR5cGUgPSAyKSwgCiAgICAgICAgICAgICAgICAgICAgdGl0bGUgPSAiTUNQMSBwbGFxdWUgbGV2ZWxzIiwKICAgICAgICAgICAgICAgICAgICB4bGFiID0gInBnL21MIiwgCiAgICAgICAgICAgICAgICAgICAgZ2d0aGVtZSA9IHRoZW1lX21pbmltYWwoKSkKCm1pbl9NQ1AxIDwtIG1pbihBRURCLkNFQSRNQ1AxLCBuYS5ybSA9IFRSVUUpCm1pbl9NQ1AxCgpBRURCLkNFQSRNQ1AxX0xOIDwtIGxvZyhBRURCLkNFQSRNQ1AxICsgbWluX01DUDEpCnAyIDwtIGdncHVicjo6Z2doaXN0b2dyYW0oQUVEQi5DRUEsICJNQ1AxX0xOIiwgCiAgICAgICAgICAgICAgICAgICAgIyB5ID0gIi4uY291bnQuLiIsIAogICAgICAgICAgICAgICAgICAgIGNvbG9yID0gIndoaXRlIiwKICAgICAgICAgICAgICAgICAgICBmaWxsID0gIkdlbmRlciIsCiAgICAgICAgICAgICAgICAgICAgcGFsZXR0ZSA9IGMoIiMxMjkwRDkiLCAiI0RCMDAzRiIpLCAKICAgICAgICAgICAgICAgICAgICAjIGFkZCA9ICJtZWFuIiwgCiAgICAgICAgICAgICAgICAgICAgIyBydWcgPSBUUlVFLAogICAgICAgICAgICAgICAgICAgICMgYWRkLnBhcmFtcyA9ICBsaXN0KGNvbG9yID0gImJsYWNrIiwgbGluZXR5cGUgPSAyKSwgCiAgICAgICAgICAgICAgICAgICAgdGl0bGUgPSAiTUNQMSBwbGFxdWUgbGV2ZWxzIiwKICAgICAgICAgICAgICAgICAgICB4bGFiID0gIm5hdHVyYWwgbG9nLXRyYW5zZm9ybWVkIHBnL3VnIiwgCiAgICAgICAgICAgICAgICAgICAgZ2d0aGVtZSA9IHRoZW1lX21pbmltYWwoKSkKCkFFREIuQ0VBJE1DUDFfcmFuayA8LSBxbm9ybSgocmFuayhBRURCLkNFQSRNQ1AxLCBuYS5sYXN0ID0gImtlZXAiKSAtIDAuNSkgLyBzdW0oIWlzLm5hKEFFREIuQ0VBJE1DUDEpKSkKcDMgPC0gZ2dwdWJyOjpnZ2hpc3RvZ3JhbShBRURCLkNFQSwgIk1DUDFfcmFuayIsCiAgICAgICAgICAgICAgICAgICAgIyB5ID0gIi4uY291bnQuLiIsCiAgICAgICAgICAgICAgICAgICAgY29sb3IgPSAid2hpdGUiLAogICAgICAgICAgICAgICAgICAgIGZpbGwgPSAiR2VuZGVyIiwKICAgICAgICAgICAgICAgICAgICBwYWxldHRlID0gYygiIzEyOTBEOSIsICIjREIwMDNGIiksCiAgICAgICAgICAgICAgICAgICAgYWRkID0gIm1lYW4iLAogICAgICAgICAgICAgICAgICAgICMgcnVnID0gVFJVRSwKICAgICAgICAgICAgICAgICAgICAjIGFkZC5wYXJhbXMgPSAgbGlzdChjb2xvciA9ICJibGFjayIsIGxpbmV0eXBlID0gMiksCiAgICAgICAgICAgICAgICAgICAgdGl0bGUgPSAiTUNQMSBwbGFxdWUgbGV2ZWxzIiwKICAgICAgICAgICAgICAgICAgICB4bGFiID0gImludmVyc2Utbm9ybWFsIHRyYW5zZm9ybWF0aW9uIHBnL3VnIiwKICAgICAgICAgICAgICAgICAgICBnZ3RoZW1lID0gdGhlbWVfbWluaW1hbCgpKQoKcDEgCnAyIApwMwojIGdncGFyKHAxLCBsZWdlbmQgPSAiIikgLyBnZ3BhcihwMiwgbGVnZW5kID0gIiIpICB8IGdncGFyKHAzLCBsZWdlbmQgPSAicmlnaHQiKQoKcm0ocDEsIHAyLCBwMykKCmBgYAoKIyMjIyBDb3JyZWxhdGlvbnMgYmV0d2VlbiBNQ1AxIHBsYXF1ZSBsZXZlbHMgYW5kIHRyYW5zZm9ybWF0aW9ucwoKSGVyZSB3ZSBjb21wYXJlIHRoZSBNQ1AxIHBsYXF1ZSBsZXZlbHMgZnJvbSBleHBlcmltZW50IDEgd2l0aCB0aG9zZSBleHBlcmltZW50IDIuIFRoZSBsYXR0ZXIgd2UgbWVhc3VyZWQgaW4gcGcvbUwgYW5kIGFsc28gY29ycmVjdGVkIGZvciB0aGUgdG90YWwgcHJvdGVpbiBjb250ZW50IChwZy91ZykuCmBgYHtyIE1DUDEgc2NhdHRlcnM6IHRyYW5zZm9ybWF0aW9uc30KcDEgPC0gZ2dwdWJyOjpnZ3NjYXR0ZXIoQUVEQi5DRUEsIAogICAgICAgICAgICAgICAgICAgICAgICB4ID0gIk1DUDFfcmFuayIsIAogICAgICAgICAgICAgICAgICAgICAgICB5ID0gIk1DUDFfcGdfbWxfMjAxNV9yYW5rIiwKICAgICAgICAgICAgICAgICAgICAgICAgY29sb3IgPSAiIzEyOTBEOSIsCiAgICAgICAgICAgICAgICAgICAgICAgICMgZmlsbCA9ICJHZW5kZXIiLAogICAgICAgICAgICAgICAgICAgICAgICAjIHBhbGV0dGUgPSBjKCIjMTI5MEQ5IiwgIiNEQjAwM0YiKSwKICAgICAgICAgICAgICAgICAgICAgICAgYWRkID0gInJlZy5saW5lIiwKICAgICAgICAgICAgICAgICAgICAgICAgYWRkLnBhcmFtcyA9ICBsaXN0KGNvbG9yID0gImJsYWNrIiwgbGluZXR5cGUgPSAyKSwKICAgICAgICAgICAgICAgICAgICAgICAgY29yLmNvZWYgPSBUUlVFLCBjb3IubWV0aG9kID0gInNwZWFybWFuIiwKICAgICAgICAgICAgICAgICAgICAgICAgeGxhYiA9ICJleHBlcmltZW50IDEiLAogICAgICAgICAgICAgICAgICAgICAgICB5bGFiID0gImV4cGVyaW1lbnQgMiIsCiAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlID0gIk1DUDEgcGxhcXVlIGxldmVscywgSU5ULCBbcGcvbUxdIiwKICAgICAgICAgICAgICAgICAgICAgICAgZ2d0aGVtZSA9IHRoZW1lX21pbmltYWwoKSkKCnAxIAoKcDIgPC0gZ2dwdWJyOjpnZ3NjYXR0ZXIoQUVEQi5DRUEsIAogICAgICAgICAgICAgICAgICAgICAgICB4ID0gIk1DUDFfcmFuayIsIAogICAgICAgICAgICAgICAgICAgICAgICB5ID0gIk1DUDFfcGdfdWdfMjAxNV9yYW5rIiwKICAgICAgICAgICAgICAgICAgICAgICAgY29sb3IgPSAiIzEyOTBEOSIsCiAgICAgICAgICAgICAgICAgICAgICAgICMgZmlsbCA9ICJHZW5kZXIiLAogICAgICAgICAgICAgICAgICAgICAgICAjIHBhbGV0dGUgPSBjKCIjMTI5MEQ5IiwgIiNEQjAwM0YiKSwKICAgICAgICAgICAgICAgICAgICAgICAgYWRkID0gInJlZy5saW5lIiwKICAgICAgICAgICAgICAgICAgICAgICAgYWRkLnBhcmFtcyA9ICBsaXN0KGNvbG9yID0gImJsYWNrIiwgbGluZXR5cGUgPSAyKSwKICAgICAgICAgICAgICAgICAgICAgICAgY29yLmNvZWYgPSBUUlVFLCBjb3IubWV0aG9kID0gInNwZWFybWFuIiwKICAgICAgICAgICAgICAgICAgICAgICAgeGxhYiA9ICJleHBlcmltZW50IDEiLAogICAgICAgICAgICAgICAgICAgICAgICB5bGFiID0gImV4cGVyaW1lbnQgMiIsCiAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlID0gIk1DUDEgcGxhcXVlIGxldmVscywgSU5ULCBbcGcvbUxdL1twZy91Z10iLAogICAgICAgICAgICAgICAgICAgICAgICBnZ3RoZW1lID0gdGhlbWVfbWluaW1hbCgpKQoKcDIgCgpwMyA8LSBnZ3B1YnI6Omdnc2NhdHRlcihBRURCLkNFQSwgCiAgICAgICAgICAgICAgICAgICAgICAgIHggPSAiTUNQMV9wZ19tbF8yMDE1X3JhbmsiLCAKICAgICAgICAgICAgICAgICAgICAgICAgeSA9ICJNQ1AxX3BnX3VnXzIwMTVfcmFuayIsCiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yID0gIiMxMjkwRDkiLAogICAgICAgICAgICAgICAgICAgICAgICAjIGZpbGwgPSAiR2VuZGVyIiwKICAgICAgICAgICAgICAgICAgICAgICAgIyBwYWxldHRlID0gYygiIzEyOTBEOSIsICIjREIwMDNGIiksCiAgICAgICAgICAgICAgICAgICAgICAgIGFkZCA9ICJyZWcubGluZSIsCiAgICAgICAgICAgICAgICAgICAgICAgIGFkZC5wYXJhbXMgPSAgbGlzdChjb2xvciA9ICJibGFjayIsIGxpbmV0eXBlID0gMiksCiAgICAgICAgICAgICAgICAgICAgICAgIGNvci5jb2VmID0gVFJVRSwgY29yLm1ldGhvZCA9ICJzcGVhcm1hbiIsCiAgICAgICAgICAgICAgICAgICAgICAgIHhsYWIgPSAiZXhwZXJpbWVudCAyLCBbcGcvbUxdIiwKICAgICAgICAgICAgICAgICAgICAgICAgeWxhYiA9ICJleHBlcmltZW50IDIsIFtwZy91Z10iLAogICAgICAgICAgICAgICAgICAgICAgICB0aXRsZSA9ICJNQ1AxIHBsYXF1ZSBsZXZlbHMsIElOVCIsCiAgICAgICAgICAgICAgICAgICAgICAgIGdndGhlbWUgPSB0aGVtZV9taW5pbWFsKCkpCgpwMwoKYGBgCgoKCiMjIyBNQ1AxIHBsYXNtYSBsZXZlbHMgCgo+IE5vdGUgcGxhc21hIE1DUDEgbGV2ZWxzIHdlcmUgb25seSBtZWFzdXJlZCBpbiBzeW1wdG9tYXRpYyBwYXRpZW50cy4KCldlIHdpbGwgZXhwbG9yZSB0aGUgcGxhc21hIGxldmVscy4gQXMgbm90ZWQgYWJvdmUsIHdlIHdpbGwgdXNlIGBNQ1AxYCwgdGhpcyB3YXMgbWVhc3VyZWQgaW4gcGxhc21hIG9uIHRoZSBPTElOSy1wbGF0Zm9ybSBhbmQgbWVhc3VyZW1lbnRzIGFyZSBnaXZlbiBpbiBhcmJpdHJhcnkgdW5pdHMuCgpgYGB7ciBEYXRhRXhwbG9yYXRpb246IE1DUDEgT0xJTkt9CgojIHN1bW1hcnkoQUVEQi5DRUEkTUNQMSkKIyAKIyBkby5jYWxsKHJiaW5kICwgYnkoQUVEQi5DRUEkTUNQMSwgQUVEQi5DRUEkQXN5bXB0U3ltcHQyRywgc3VtbWFyeSkpCiMgCiMgYXR0YWNoKEFFREIuQ0VBKQojIEFFREIuQ0VBJE1DUDFbTUNQMSA9PSAwXSA8LSBOQQojIGRldGFjaChBRURCLkNFQSkKCnN1bW1hcnkoQUVEQi5DRUEkTUNQMV9wbGFzbWFfb2xpbmspCgpkby5jYWxsKHJiaW5kICwgYnkoQUVEQi5DRUEkTUNQMV9wbGFzbWFfb2xpbmssIEFFREIuQ0VBJEFzeW1wdFN5bXB0MkcsIHN1bW1hcnkpKQoKYGBgCgpgYGB7ciBEYXRhRXhwbG9yYXRpb246IE1DUDEgT0xJTksgdmlzdWFsfQpwMSA8LSBnZ3B1YnI6OmdnaGlzdG9ncmFtKEFFREIuQ0VBLCAiTUNQMV9wbGFzbWFfb2xpbmsiLCAKICAgICAgICAgICAgICAgICAgICAjIHkgPSAiLi5jb3VudC4uIiwgCiAgICAgICAgICAgICAgICAgICAgY29sb3IgPSAid2hpdGUiLAogICAgICAgICAgICAgICAgICAgIGZpbGwgPSAiR2VuZGVyIiwKICAgICAgICAgICAgICAgICAgICBwYWxldHRlID0gYygiIzEyOTBEOSIsICIjREIwMDNGIiksIAogICAgICAgICAgICAgICAgICAgICMgYWRkID0gIm1lYW4iLCAKICAgICAgICAgICAgICAgICAgICAjIHJ1ZyA9IFRSVUUsCiAgICAgICAgICAgICAgICAgICAgIyBhZGQucGFyYW1zID0gIGxpc3QoY29sb3IgPSAiYmxhY2siLCBsaW5ldHlwZSA9IDIpLCAKICAgICAgICAgICAgICAgICAgICB0aXRsZSA9ICJNQ1AxIHBsYXNtYSBsZXZlbHMiLAogICAgICAgICAgICAgICAgICAgIHhsYWIgPSAiQVUiLCAKICAgICAgICAgICAgICAgICAgICBnZ3RoZW1lID0gdGhlbWVfbWluaW1hbCgpKQoKbWluX01DUDFfcGxhc21hX29saW5rIDwtIG1pbihBRURCLkNFQSRNQ1AxX3BsYXNtYV9vbGluaywgbmEucm0gPSBUUlVFKQptaW5fTUNQMV9wbGFzbWFfb2xpbmsKCkFFREIuQ0VBJE1DUDFfcGxhc21hX29saW5rX0xOIDwtIGxvZyhBRURCLkNFQSRNQ1AxX3BsYXNtYV9vbGluayArIG1pbl9NQ1AxX3BsYXNtYV9vbGluaykKcDIgPC0gZ2dwdWJyOjpnZ2hpc3RvZ3JhbShBRURCLkNFQSwgIk1DUDFfcGxhc21hX29saW5rX0xOIiwgCiAgICAgICAgICAgICAgICAgICAgIyB5ID0gIi4uY291bnQuLiIsIAogICAgICAgICAgICAgICAgICAgIGNvbG9yID0gIndoaXRlIiwKICAgICAgICAgICAgICAgICAgICBmaWxsID0gIkdlbmRlciIsCiAgICAgICAgICAgICAgICAgICAgcGFsZXR0ZSA9IGMoIiMxMjkwRDkiLCAiI0RCMDAzRiIpLCAKICAgICAgICAgICAgICAgICAgICAjIGFkZCA9ICJtZWFuIiwgCiAgICAgICAgICAgICAgICAgICAgIyBydWcgPSBUUlVFLAogICAgICAgICAgICAgICAgICAgICMgYWRkLnBhcmFtcyA9ICBsaXN0KGNvbG9yID0gImJsYWNrIiwgbGluZXR5cGUgPSAyKSwgCiAgICAgICAgICAgICAgICAgICAgdGl0bGUgPSAiTUNQMSBwbGFzbWEgbGV2ZWxzIiwKICAgICAgICAgICAgICAgICAgICB4bGFiID0gIm5hdHVyYWwgbG9nLXRyYW5zZm9ybWVkIEFVIiwgCiAgICAgICAgICAgICAgICAgICAgZ2d0aGVtZSA9IHRoZW1lX21pbmltYWwoKSkKCkFFREIuQ0VBJE1DUDFfcGxhc21hX29saW5rX3JhbmsgPC0gcW5vcm0oKHJhbmsoQUVEQi5DRUEkTUNQMV9wbGFzbWFfb2xpbmssIG5hLmxhc3QgPSAia2VlcCIpIC0gMC41KSAvIHN1bSghaXMubmEoQUVEQi5DRUEkTUNQMV9wbGFzbWFfb2xpbmspKSkKcDMgPC0gZ2dwdWJyOjpnZ2hpc3RvZ3JhbShBRURCLkNFQSwgIk1DUDFfcGxhc21hX29saW5rX3JhbmsiLAogICAgICAgICAgICAgICAgICAgICMgeSA9ICIuLmNvdW50Li4iLAogICAgICAgICAgICAgICAgICAgIGNvbG9yID0gIndoaXRlIiwKICAgICAgICAgICAgICAgICAgICBmaWxsID0gIkdlbmRlciIsCiAgICAgICAgICAgICAgICAgICAgcGFsZXR0ZSA9IGMoIiMxMjkwRDkiLCAiI0RCMDAzRiIpLAogICAgICAgICAgICAgICAgICAgIGFkZCA9ICJtZWFuIiwKICAgICAgICAgICAgICAgICAgICAjIHJ1ZyA9IFRSVUUsCiAgICAgICAgICAgICAgICAgICAgIyBhZGQucGFyYW1zID0gIGxpc3QoY29sb3IgPSAiYmxhY2siLCBsaW5ldHlwZSA9IDIpLAogICAgICAgICAgICAgICAgICAgIHRpdGxlID0gIk1DUDEgcGxhc21hIGxldmVscyIsCiAgICAgICAgICAgICAgICAgICAgeGxhYiA9ICJpbnZlcnNlLW5vcm1hbCB0cmFuc2Zvcm1hdGlvbiBBVSIsCiAgICAgICAgICAgICAgICAgICAgZ2d0aGVtZSA9IHRoZW1lX21pbmltYWwoKSkKCnAxIApwMiAKcDMKIyBnZ3BhcihwMSwgbGVnZW5kID0gIiIpIC8gZ2dwYXIocDIsIGxlZ2VuZCA9ICIiKSAgfCBnZ3BhcihwMywgbGVnZW5kID0gInJpZ2h0IikKCnJtKHAxLCBwMiwgcDMpCgpgYGAKCkJhc2VkIG9uIHRoZSBpbnZlcnNlLXJhbmsgbm9ybWFsIHRyYW5zZm9ybWF0aW9uIHdlIGNvbmNsdWRlIHRoZXJlIGFyZSBubyBvdXRsaWVycyBhbmQgdGhlIGRhdGEgYXBwcm94aW1hdGVzIGEgbm9ybWFsIGRpc3RyaWJ1dGlvbi4gCiMjIyMgQ29ycmVsYXRpb25zIGJldHdlZW4gTUNQMSBwbGFxdWUgYW5kIHBsYXNtYSBsZXZlbHMKCkhlcmUgd2UgY29tcGFyZSB0aGUgTUNQMSBwbGFxdWUgbGV2ZWxzIGZyb20gZXhwZXJpbWVudCAxIGFuZCAgMiAocGxhcXVlKSB3aXRoIHBsYXNtYSBsZXZlbHMgbWVhc3VyZWQgb24gdGhlIE9MSU5LLXBsYXRmb3JtLiBHaXZlbiB0aGUgYXJiaXRyYXJ5IHVuaXRzIHVzZWQgaW4gdGhlIE9MSU5LLW1ldGhvZCwgd2UgY29tcGFyZSBvbmx5IGludmVyc2Utbm9ybWFsIHRyYW5zZm9ybWVkIGRhdGEuCgpgYGB7ciBNQ1AxIHNjYXR0ZXJzOiB0cmFuc2Zvcm1hdGlvbnMgT0xJTkt9CnAxIDwtIGdncHVicjo6Z2dzY2F0dGVyKEFFREIuQ0VBLCAKICAgICAgICAgICAgICAgICAgICAgICAgeCA9ICJNQ1AxX3JhbmsiLCAKICAgICAgICAgICAgICAgICAgICAgICAgeSA9ICJNQ1AxX3BnX21sXzIwMTVfcmFuayIsCiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yID0gIiMxMjkwRDkiLAogICAgICAgICAgICAgICAgICAgICAgICAjIGZpbGwgPSAiR2VuZGVyIiwKICAgICAgICAgICAgICAgICAgICAgICAgIyBwYWxldHRlID0gYygiIzEyOTBEOSIsICIjREIwMDNGIiksCiAgICAgICAgICAgICAgICAgICAgICAgIGFkZCA9ICJyZWcubGluZSIsCiAgICAgICAgICAgICAgICAgICAgICAgIGFkZC5wYXJhbXMgPSAgbGlzdChjb2xvciA9ICJibGFjayIsIGxpbmV0eXBlID0gMiksCiAgICAgICAgICAgICAgICAgICAgICAgIGNvci5jb2VmID0gVFJVRSwgY29yLm1ldGhvZCA9ICJzcGVhcm1hbiIsCiAgICAgICAgICAgICAgICAgICAgICAgIHhsYWIgPSAicGxhcXVlIChleHBlcmltZW50IDEpIiwKICAgICAgICAgICAgICAgICAgICAgICAgeWxhYiA9ICJwbGFxdWUgKGV4cGVyaW1lbnQgMikiLAogICAgICAgICAgICAgICAgICAgICAgICB0aXRsZSA9ICJNQ1AxIHBsYXF1ZSBsZXZlbHMsIElOVCwgW3BnL21MXSIsCiAgICAgICAgICAgICAgICAgICAgICAgIGdndGhlbWUgPSB0aGVtZV9taW5pbWFsKCkpCgpwMSAKCnAyIDwtIGdncHVicjo6Z2dzY2F0dGVyKEFFREIuQ0VBLCAKICAgICAgICAgICAgICAgICAgICAgICAgeCA9ICJNQ1AxX3JhbmsiLCAKICAgICAgICAgICAgICAgICAgICAgICAgeSA9ICJNQ1AxX3BsYXNtYV9vbGlua19yYW5rIiwKICAgICAgICAgICAgICAgICAgICAgICAgY29sb3IgPSAiIzEyOTBEOSIsCiAgICAgICAgICAgICAgICAgICAgICAgICMgZmlsbCA9ICJHZW5kZXIiLAogICAgICAgICAgICAgICAgICAgICAgICAjIHBhbGV0dGUgPSBjKCIjMTI5MEQ5IiwgIiNEQjAwM0YiKSwKICAgICAgICAgICAgICAgICAgICAgICAgYWRkID0gInJlZy5saW5lIiwKICAgICAgICAgICAgICAgICAgICAgICAgYWRkLnBhcmFtcyA9ICBsaXN0KGNvbG9yID0gImJsYWNrIiwgbGluZXR5cGUgPSAyKSwKICAgICAgICAgICAgICAgICAgICAgICAgY29yLmNvZWYgPSBUUlVFLCBjb3IubWV0aG9kID0gInNwZWFybWFuIiwKICAgICAgICAgICAgICAgICAgICAgICAgeGxhYiA9ICJwbGFxdWUgKGV4cGVyaW1lbnQgMSkiLAogICAgICAgICAgICAgICAgICAgICAgICB5bGFiID0gInBsYXNtYSAoT0xJTkspIiwKICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGUgPSAiTUNQMSBsZXZlbHMsIElOVCwgW3BnL21MXS9bQVVdIiwKICAgICAgICAgICAgICAgICAgICAgICAgZ2d0aGVtZSA9IHRoZW1lX21pbmltYWwoKSkKCnAyIAoKcDMgPC0gZ2dwdWJyOjpnZ3NjYXR0ZXIoQUVEQi5DRUEsIAogICAgICAgICAgICAgICAgICAgICAgICB4ID0gIk1DUDFfcGdfbWxfMjAxNV9yYW5rIiwgCiAgICAgICAgICAgICAgICAgICAgICAgIHkgPSAiTUNQMV9wbGFzbWFfb2xpbmtfcmFuayIsCiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yID0gIiMxMjkwRDkiLAogICAgICAgICAgICAgICAgICAgICAgICAjIGZpbGwgPSAiR2VuZGVyIiwKICAgICAgICAgICAgICAgICAgICAgICAgIyBwYWxldHRlID0gYygiIzEyOTBEOSIsICIjREIwMDNGIiksCiAgICAgICAgICAgICAgICAgICAgICAgIGFkZCA9ICJyZWcubGluZSIsCiAgICAgICAgICAgICAgICAgICAgICAgIGFkZC5wYXJhbXMgPSAgbGlzdChjb2xvciA9ICJibGFjayIsIGxpbmV0eXBlID0gMiksCiAgICAgICAgICAgICAgICAgICAgICAgIGNvci5jb2VmID0gVFJVRSwgY29yLm1ldGhvZCA9ICJzcGVhcm1hbiIsCiAgICAgICAgICAgICAgICAgICAgICAgIHhsYWIgPSAicGxhcXVlIChleHBlcmltZW50IDIpIiwKICAgICAgICAgICAgICAgICAgICAgICAgeWxhYiA9ICJwbGFzbWEgKE9MSU5LKSIsCiAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlID0gIk1DUDEgbGV2ZWxzLCBJTlQsIFtwZy9tTF0vW0FVXSIsCiAgICAgICAgICAgICAgICAgICAgICAgIGdndGhlbWUgPSB0aGVtZV9taW5pbWFsKCkpCgpwMwoKYGBgCgoKCiMjIFByZWxpbWluYXJ5IGNvbmNsdXNpb24gZGF0YSBleHBsb3JhdGlvbgoKSW4gbGluZSB3aXRoIHRoZSBwcmV2aW91cyB3b3JrIGJ5IFtNYXJpb3MgR2Vvcmdha2lzXShodHRwczovL3d3dy5haGFqb3VybmFscy5vcmcvZG9pL2Z1bGwvMTAuMTE2MS9DSVJDUkVTQUhBLjExOS4zMTUzODApe3RhcmdldD0iX2JsYW5rIn0gd2Ugd2lsbCBhcHBseSBfbmF0dXJhbCBsb2cgdHJhbnNmb3JtYXRpb25fIG9uIGFsbCBwcm90ZWlucyBhbmQgZm9jdXMgdGhlIGFuYWx5c2lzIG9uIE1DUDEgaW4gcGxhc21hIGFuZCBwbGFxdWUuCgojIEFuYWx5c2VzCgpUaGUgYW5hbHlzZXMgYXJlIGZvY3VzZWQgb24gdGhyZWUgZWxlbWVudHM6IAoKMSkgcGxhcXVlIHZ1bG5lcmFiaWxpdHkgcGhlbm90eXBlcwoyKSBjbGluaWNhbCBzdGF0dXMgYXQgaW5jbHVzaW9uIChzeW1wdG9tcykKMykgc2Vjb25kYXJ5IGNsaW5pY2FsIG91dGNvbWUgZHVyaW5nIHRocmVlICgzKSB5ZWFycyBvZiBmb2xsb3ctdXAKCiMjIENvdmFyaWF0ZXMgJiBvdGhlciB2YXJpYWJsZXMKCjEuICBBZ2UgKGNvbnRpbnVvdXMgaW4gMS15ZWFyIGluY3JlbWVudCkuIFtgQWdlYF0KMi4gIFNleCAobWFsZSB2cy4gZmVtYWxlKS4gW2BHZW5kZXJgXQozLiAgUHJlc2VuY2Ugb2YgaHlwZXJ0ZW5zaW9uIGF0IGJhc2VsaW5lIChkZWZpbmVkIGVpdGhlciBhcyBoaXN0b3J5IG9mIGh5cGVydGVuc2lvbiwgU0JQIOKJpTE0MCBtbSBIZywgREJQIOKJpTkwIG1tIEhnLCBvciBwcmVzY3JpcHRpb24gb2YgYW50aWh5cGVydGVuc2l2ZSBtZWRpY2F0aW9ucykuIFtgSHlwZXJ0ZW5zaW9uLmNvbXBvc2l0ZWBdCjQuICBQcmVzZW5jZSBvZiBkaWFiZXRlcyBtZWxsaXR1cyBhdCBiYXNlbGluZSAoZGVmaW5lZCBlaXRoZXIgYXMgYSBoaXN0b3J5IG9mIGRpYWJldGVzIGFuZC9vciBhZG1pbmlzdHJhdGlvbiBvZiBnbHVjb3NlIGxvd2VyaW5nIG1lZGljYXRpb24pLiBbYERpYWJldGVzU3RhdHVzYF0KNS4gIFNtb2tpbmcgKGN1cnJlbnQsIGV4LSwgbmV2ZXIpLiBbYFNtb2tlclN0YXR1c2BdCjYuICBMREwtQyBsZXZlbHMgKGNvbnRpbnVvdXMpLiBbYExETF9maW5hbGBdCjcuICBVc2Ugb2YgbGlwaWQtbG93ZXJpbmcgZHJ1Z3MuIFtgTWVkLlN0YXRpbi5MTERgXQo4LiAgVXNlIG9mIGFudGlwbGF0ZWxldCBkcnVncy4gW2BNZWQuYWxsLmFudGlwbGF0ZWxldGBdCjkuICBlR0ZSIChjb250aW51b3VzKS4gW2BHRlJfTURSRGBdCjEwLglCTUkgKGNvbnRpbnVvdXMpLiBbYEJNSWBdCjExLglIaXN0b3J5IG9mIGNhcmRpb3Zhc2N1bGFyIGRpc2Vhc2UgKHN0cm9rZSwgY29yb25hcnkgYXJ0ZXJ5IGRpc2Vhc2UsIHBlcmlwaGVyYWwgYXJ0ZXJ5IGRpc2Vhc2UpLiBbYE1lZEh4X0NWRGBdIGNvbWJpbmF0aW9uIG9mIFtgQ0FEX2hpc3RvcnlgLCBgU3Ryb2tlX2hpc3RvcnlgLCBgUGVyaXBoZXJhbC5pbnRlcnZgXQoxMi4JTGV2ZWwgb2Ygc3Rlbm9zaXMgKDUwLTcwJSB2cy4gNzAtOTklKS4gW2BzdGVub3NlYF0KMTMuIFllYXIgb2Ygc3VyZ2VyeSBbYE9SZGF0ZV95ZWFyYF0gYXMgd2UgZGlzY292ZXJlZCBpbiBWYW4gTGFtbWVyZW4gX2V0IGFsLl8gdGhlIGNvbXBvc2l0aW9uIG9mIHRoZSBwbGFxdWUgYW5kIHRoZXJlZm9yZSB0aGUgQXRoZXJvLUV4cHJlc3MgQmlvYmFuayBTdHVkeSBoYXMgY2hhbmdlZCBvdmVyIHRoZSB5ZWFycy4gTGlrZWx5IHRocm91Z2ggY2hhbmdlcyBpbiBsaWZlc3R5bGUgYW5kIHByaW1hcnkgcHJldmVudGlvbiByZWdpbWVzLgoKIyMgTW9kZWxzCgpXZSB3aWxsIGFuYWx5emUgdGhlIGRhdGEgdGhyb3VnaCBmb3VyIGRpZmZlcmVudCBtb2RlbHMKCi0gTW9kZWwgMTogYWRqdXN0ZWQgZm9yIGFnZSwgc2V4LCBhbmQgeWVhciBvZiBzdXJnZXJ5Ci0gTW9kZWwgMjogYWRqdXN0ZWQgZm9yIGFnZSwgc2V4LCB5ZWFyIG9mIHN1cmdlcnksIGFuZCBhZGRpdGlvbmFsbHkgYWRqdXN0ZWQgZm9yIGhpc3RvcnkgaHlwZXJ0ZW5zaW9uIChkZWZpbmVkIGZyb20gbWVkaWNhbCBoaXN0b3J5IGFuZC9vciB1c2Ugb2YgYW50aWh5cGVydGVuc2l2ZSBtZWRpY2F0aW9ucyksIGRpYWJldGVzIChkZWZpbmVkIGFzIGhpc3Rvcnkgb2YgYSBkaWFnbm9zaXMgYW5kL29yIHVzZSBvZiBnbHVjb3NlLWxvd2VyaW5nIG1lZGljYXRpb25zKSwgY3VycmVudCBzbW9raW5nLCBMREwtQyBsZXZlbHMgYXQgdGltZSBvZiBvcGVyYXRpb24sIHVzZSBvZiBzdGF0aW5zLCB1c2Ugb2YgYW50aXBsYXRlbGV0IGFnZW50cywgZUdGUiwgQk1JLCBoaXN0b3J5IG9mIGNhcmRpb3Zhc2N1bGFyIGRpc2Vhc2UgKGNvcm9uYXJ5IGFydGVyeSBkaXNlYXNlLCBzdHJva2UsIHBlcmlwaGVyYWwgYXJ0ZXJ5IGRpc2Vhc2UpLCBhbmQgbGV2ZWwgb2Ygc3Rlbm9zaXMgKDUwLTcwJSwgNzAtOTAlLCA5MC05OSUpCgojIyBBLiBDcm9zcy1zZWN0aW9uYWwgYW5hbHlzaXMgcGxhcXVlIHBoZW5vdHlwZXMKCkluIHRoZSBjcm9zcy1zZWN0aW9uYWwgYW5hbHlzaXMgb2YgcGxhcXVlIGFuZCBwbGFzbWEgTUNQMSwgSUw2LCBhbmQgSUw2UiBsZXZlbHMgd2Ugd2lsbCBmb2N1cyBvbiB0aGUgZm9sbG93aW5nIHBsYXF1ZSB2dWxuZXJhYmlsaXR5IHBoZW5vdHlwZXM6CgotIFBlcmNlbnRhZ2Ugb2YgbWFjcm9waGFnZXMgKGNvbnRpbnVvdXMgdHJhaXQpCi0gUGVyY2VudGFnZSBvZiBTTUNzIChjb250aW51b3VzIHRyYWl0KQotIE51bWJlciBvZiBpbnRyYXBsYXF1ZSBtaWNyb3Zlc3NlbHMgcGVyIDMtNCBob3RzcG90cyAoY29udGludW91cyB0cmFpdCkKLSBQcmVzZW5jZSBvZiBtb2RlcmF0ZS9oZWF2eSBjYWxjaWZpY2F0aW9ucyAoYmluYXJ5IHRyYWl0KQotIFByZXNlbmNlIG9mIG1vZGVyYXRlL2hlYXZ5IGNvbGxhZ2VuIGNvbnRlbnQgKGJpbmFyeSB0cmFpdCkKLSBQcmVzZW5jZSBvZiBsaXBpZCBjb3JlIG5vLzwxMCUgdnMuID4xMCUgKGJpbmFyeSB0cmFpdCkKLSBQcmVzZW5jZSBvZiBpbnRyYXBsYXF1ZSBoZW1vcnJoYWdlIChiaW5hcnkgdHJhaXQpCgoqQ29udGlub3VzIHRyYWl0cyoKYGBge3IgQ3Jvc3NTZWM6IHBsYXF1ZXMgLSB0cmFuc2Zvcm1hdGlvbnMgYW5kIHZpc3VhbGlzYXRpb25zIGNvbnRpbnVvdXN9CgojIG1hY3JvcGhhZ2VzCmNhdCgiU3VtbWFyeSBvZiBkYXRhLlxuIikKc3VtbWFyeShBRURCLkNFQSRtYWNtZWFuMCkKCm1pbl9tYWNtZWFuIDwtIG1pbihBRURCLkNFQSRtYWNtZWFuMCwgbmEucm0gPSBUUlVFKQpjYXQocGFzdGUwKCJcbk1pbmltdW0gdmFsdWUgJSBtYWNyb3BoYWdlczogIixtaW5fbWFjbWVhbiwiLlxuIikpCgpBRURCLkNFQSRNYWNyb3BoYWdlc19MTiA8LSBsb2coQUVEQi5DRUEkbWFjbWVhbjAgKyBtaW5fbWFjbWVhbikKCmdncHVicjo6Z2doaXN0b2dyYW0oQUVEQi5DRUEsICJNYWNyb3BoYWdlc19MTiIsIAogICAgICAgICAgICAgICAgICAgICMgeSA9ICIuLmNvdW50Li4iLCAKICAgICAgICAgICAgICAgICAgICBjb2xvciA9ICJ3aGl0ZSIsCiAgICAgICAgICAgICAgICAgICAgZmlsbCA9ICJHZW5kZXIiLAogICAgICAgICAgICAgICAgICAgIHBhbGV0dGUgPSBjKCIjMTI5MEQ5IiwgIiNEQjAwM0YiKSwgCiAgICAgICAgICAgICAgICAgICAgYWRkID0gIm1lZGlhbiIsIAogICAgICAgICAgICAgICAgICAgICNhZGRfZGVuc2l0eSA9IFRSVUUsCiAgICAgICAgICAgICAgICAgICAgcnVnID0gVFJVRSwKICAgICAgICAgICAgICAgICAgICAjYWRkLnBhcmFtcyA9ICBsaXN0KGNvbG9yID0gImJsYWNrIiwgbGluZXR5cGUgPSAyKSwgCiAgICAgICAgICAgICAgICAgICAgdGl0bGUgPSAiJSBtYWNyb3BoYWdlcyIsCiAgICAgICAgICAgICAgICAgICAgeGxhYiA9ICJuYXR1cmFsIGxvZy10cmFuc2Zvcm1lZCAlIiwgCiAgICAgICAgICAgICAgICAgICAgZ2d0aGVtZSA9IHRoZW1lX21pbmltYWwoKSkKCkFFREIuQ0VBJE1hY3JvcGhhZ2VzX3JhbmsgPC0gcW5vcm0oKHJhbmsoQUVEQi5DRUEkbWFjbWVhbjAsIG5hLmxhc3QgPSAia2VlcCIpIC0gMC41KSAvIHN1bSghaXMubmEoQUVEQi5DRUEkbWFjbWVhbjApKSkKZ2dwdWJyOjpnZ2hpc3RvZ3JhbShBRURCLkNFQSwgIk1hY3JvcGhhZ2VzX3JhbmsiLCAKICAgICAgICAgICAgICAgICAgICAjIHkgPSAiLi5jb3VudC4uIiwgCiAgICAgICAgICAgICAgICAgICAgY29sb3IgPSAid2hpdGUiLAogICAgICAgICAgICAgICAgICAgIGZpbGwgPSAiR2VuZGVyIiwKICAgICAgICAgICAgICAgICAgICBwYWxldHRlID0gYygiIzEyOTBEOSIsICIjREIwMDNGIiksIAogICAgICAgICAgICAgICAgICAgIGFkZCA9ICJtZWRpYW4iLCAKICAgICAgICAgICAgICAgICAgICAjYWRkX2RlbnNpdHkgPSBUUlVFLAogICAgICAgICAgICAgICAgICAgIHJ1ZyA9IFRSVUUsCiAgICAgICAgICAgICAgICAgICAgI2FkZC5wYXJhbXMgPSAgbGlzdChjb2xvciA9ICJibGFjayIsIGxpbmV0eXBlID0gMiksIAogICAgICAgICAgICAgICAgICAgIHRpdGxlID0gIiUgbWFjcm9waGFnZXMiLAogICAgICAgICAgICAgICAgICAgIHhsYWIgPSAiaW52ZXJzZS1yYW5rIG5vcm1hbGl6ZWQgJSIsIAogICAgICAgICAgICAgICAgICAgIGdndGhlbWUgPSB0aGVtZV9taW5pbWFsKCkpCgojIHNtb290aCBtdXNjbGUgY2VsbHMKY2F0KCJTdW1tYXJ5IG9mIGRhdGEuXG4iKQpzdW1tYXJ5KEFFREIuQ0VBJG1hY21lYW4wKQoKbWluX3NtY21lYW4gPC0gbWluKEFFREIuQ0VBJHNtY21lYW4wLCBuYS5ybSA9IFRSVUUpCmNhdChwYXN0ZTAoIlxuTWluaW11bSB2YWx1ZSAlIHNtb290aCBtdXNjbGUgY2VsbHM6ICIsbWluX3NtY21lYW4sIi5cbiIpKQoKQUVEQi5DRUEkU01DX0xOIDwtIGxvZyhBRURCLkNFQSRzbWNtZWFuMCArIG1pbl9zbWNtZWFuKQoKZ2dwdWJyOjpnZ2hpc3RvZ3JhbShBRURCLkNFQSwgIlNNQ19MTiIsIAogICAgICAgICAgICAgICAgICAgICMgeSA9ICIuLmNvdW50Li4iLCAKICAgICAgICAgICAgICAgICAgICBjb2xvciA9ICJ3aGl0ZSIsCiAgICAgICAgICAgICAgICAgICAgZmlsbCA9ICJHZW5kZXIiLAogICAgICAgICAgICAgICAgICAgIHBhbGV0dGUgPSBjKCIjMTI5MEQ5IiwgIiNEQjAwM0YiKSwgCiAgICAgICAgICAgICAgICAgICAgYWRkID0gIm1lZGlhbiIsIAogICAgICAgICAgICAgICAgICAgICNhZGRfZGVuc2l0eSA9IFRSVUUsCiAgICAgICAgICAgICAgICAgICAgcnVnID0gVFJVRSwKICAgICAgICAgICAgICAgICAgICAjYWRkLnBhcmFtcyA9ICBsaXN0KGNvbG9yID0gImJsYWNrIiwgbGluZXR5cGUgPSAyKSwgCiAgICAgICAgICAgICAgICAgICAgdGl0bGUgPSAiJSBzbW9vdGggbXVzY2xlIGNlbGxzIiwKICAgICAgICAgICAgICAgICAgICB4bGFiID0gIm5hdHVyYWwgbG9nLXRyYW5zZm9ybWVkICUiLCAKICAgICAgICAgICAgICAgICAgICBnZ3RoZW1lID0gdGhlbWVfbWluaW1hbCgpKQoKQUVEQi5DRUEkU01DX3JhbmsgPC0gcW5vcm0oKHJhbmsoQUVEQi5DRUEkc21jbWVhbjAsIG5hLmxhc3QgPSAia2VlcCIpIC0gMC41KSAvIHN1bSghaXMubmEoQUVEQi5DRUEkc21jbWVhbjApKSkKZ2dwdWJyOjpnZ2hpc3RvZ3JhbShBRURCLkNFQSwgIlNNQ19yYW5rIiwgCiAgICAgICAgICAgICAgICAgICAgIyB5ID0gIi4uY291bnQuLiIsIAogICAgICAgICAgICAgICAgICAgIGNvbG9yID0gIndoaXRlIiwKICAgICAgICAgICAgICAgICAgICBmaWxsID0gIkdlbmRlciIsCiAgICAgICAgICAgICAgICAgICAgcGFsZXR0ZSA9IGMoIiMxMjkwRDkiLCAiI0RCMDAzRiIpLCAKICAgICAgICAgICAgICAgICAgICBhZGQgPSAibWVkaWFuIiwgCiAgICAgICAgICAgICAgICAgICAgI2FkZF9kZW5zaXR5ID0gVFJVRSwKICAgICAgICAgICAgICAgICAgICBydWcgPSBUUlVFLAogICAgICAgICAgICAgICAgICAgICNhZGQucGFyYW1zID0gIGxpc3QoY29sb3IgPSAiYmxhY2siLCBsaW5ldHlwZSA9IDIpLCAKICAgICAgICAgICAgICAgICAgICB0aXRsZSA9ICIlIHNtb290aCBtdXNjbGUgY2VsbHMiLAogICAgICAgICAgICAgICAgICAgIHhsYWIgPSAiaW52ZXJzZS1yYW5rIG5vcm1hbGl6ZWQgJSIsIAogICAgICAgICAgICAgICAgICAgIGdndGhlbWUgPSB0aGVtZV9taW5pbWFsKCkpCgojIHZlc3NlbCBkZW5zaXR5CmNhdCgiU3VtbWFyeSBvZiBkYXRhLlxuIikKc3VtbWFyeShBRURCLkNFQSR2ZXNzZWxfZGVuc2l0eV9hdmVyYWdlZCkKCm1pbl92ZXNzZWxkZW5zaXR5IDwtIG1pbihBRURCLkNFQSR2ZXNzZWxfZGVuc2l0eV9hdmVyYWdlZCwgbmEucm0gPSBUUlVFKQptaW5fdmVzc2VsZGVuc2l0eQpjYXQocGFzdGUwKCJcbk1pbmltdW0gdmFsdWUgbnVtYmVyIG9mIGludHJhcGxhcXVlIG5lb3Zlc3NlbHMgcGVyIDMtNCBob3RzcG90czogIixtaW5fdmVzc2VsZGVuc2l0eSwiLlxuIikpCgpBRURCLkNFQSRWZXNzZWxEZW5zaXR5X0xOIDwtIGxvZyhBRURCLkNFQSR2ZXNzZWxfZGVuc2l0eV9hdmVyYWdlZCArIG1pbl92ZXNzZWxkZW5zaXR5KQoKZ2dwdWJyOjpnZ2hpc3RvZ3JhbShBRURCLkNFQSwgIlZlc3NlbERlbnNpdHlfTE4iLCAKICAgICAgICAgICAgICAgICAgICAjIHkgPSAiLi5jb3VudC4uIiwgCiAgICAgICAgICAgICAgICAgICAgY29sb3IgPSAid2hpdGUiLAogICAgICAgICAgICAgICAgICAgIGZpbGwgPSAiR2VuZGVyIiwKICAgICAgICAgICAgICAgICAgICBwYWxldHRlID0gYygiIzEyOTBEOSIsICIjREIwMDNGIiksIAogICAgICAgICAgICAgICAgICAgIGFkZCA9ICJtZWRpYW4iLCAKICAgICAgICAgICAgICAgICAgICAjYWRkX2RlbnNpdHkgPSBUUlVFLAogICAgICAgICAgICAgICAgICAgIHJ1ZyA9IFRSVUUsCiAgICAgICAgICAgICAgICAgICAgI2FkZC5wYXJhbXMgPSAgbGlzdChjb2xvciA9ICJibGFjayIsIGxpbmV0eXBlID0gMiksIAogICAgICAgICAgICAgICAgICAgIHRpdGxlID0gIm51bWJlciBvZiBpbnRyYXBsYXF1ZSBuZW92ZXNzZWxzIHBlciAzLTQgaG90c3BvdHMiLAogICAgICAgICAgICAgICAgICAgIHhsYWIgPSAibmF0dXJhbCBsb2ctdHJhbnNmb3JtZWQgbnVtYmVyIiwgCiAgICAgICAgICAgICAgICAgICAgZ2d0aGVtZSA9IHRoZW1lX21pbmltYWwoKSkKCkFFREIuQ0VBJFZlc3NlbERlbnNpdHlfcmFuayA8LSBxbm9ybSgocmFuayhBRURCLkNFQSR2ZXNzZWxfZGVuc2l0eV9hdmVyYWdlZCwgbmEubGFzdCA9ICJrZWVwIikgLSAwLjUpIC8gc3VtKCFpcy5uYShBRURCLkNFQSR2ZXNzZWxfZGVuc2l0eV9hdmVyYWdlZCkpKQpnZ3B1YnI6OmdnaGlzdG9ncmFtKEFFREIuQ0VBLCAiVmVzc2VsRGVuc2l0eV9yYW5rIiwgCiAgICAgICAgICAgICAgICAgICAgIyB5ID0gIi4uY291bnQuLiIsIAogICAgICAgICAgICAgICAgICAgIGNvbG9yID0gIndoaXRlIiwKICAgICAgICAgICAgICAgICAgICBmaWxsID0gIkdlbmRlciIsCiAgICAgICAgICAgICAgICAgICAgcGFsZXR0ZSA9IGMoIiMxMjkwRDkiLCAiI0RCMDAzRiIpLCAKICAgICAgICAgICAgICAgICAgICBhZGQgPSAibWVkaWFuIiwgCiAgICAgICAgICAgICAgICAgICAgI2FkZF9kZW5zaXR5ID0gVFJVRSwKICAgICAgICAgICAgICAgICAgICBydWcgPSBUUlVFLAogICAgICAgICAgICAgICAgICAgICNhZGQucGFyYW1zID0gIGxpc3QoY29sb3IgPSAiYmxhY2siLCBsaW5ldHlwZSA9IDIpLCAKICAgICAgICAgICAgICAgICAgICB0aXRsZSA9ICJudW1iZXIgb2YgaW50cmFwbGFxdWUgbmVvdmVzc2VscyBwZXIgMy00IGhvdHNwb3RzIiwKICAgICAgICAgICAgICAgICAgIHhsYWIgPSAiaW52ZXJzZS1yYW5rIG5vcm1hbGl6ZWQgbnVtYmVyIiwgCiAgICAgICAgICAgICAgICAgICAgZ2d0aGVtZSA9IHRoZW1lX21pbmltYWwoKSkKYGBgCgoqQmluYXJ5IHRyYWl0cyoKYGBge3IgQ3Jvc3NTZWM6IHBsYXF1ZXMgLSB0cmFuc2Zvcm1hdGlvbnMgYW5kIHZpc3VhbGlzYXRpb25zIGJpbmFyeX0KCiMgY2FsY2lmaWNhdGlvbgpjYXQoIlN1bW1hcnkgb2YgZGF0YS5cbiIpCnN1bW1hcnkoQUVEQi5DRUEkQ2FsYy5iaW4pCmNvbnRyYXN0cyhBRURCLkNFQSRDYWxjLmJpbikKCkFFREIuQ0VBJENhbGNpZmljYXRpb25QbGFxdWUgPC0gYXMuZmFjdG9yKEFFREIuQ0VBJENhbGMuYmluKQoKZGYgPC0gQUVEQi5DRUEgJT4lCiAgZmlsdGVyKCFpcy5uYShDYWxjaWZpY2F0aW9uUGxhcXVlKSkgJT4lCiAgZ3JvdXBfYnkoR2VuZGVyLCBDYWxjaWZpY2F0aW9uUGxhcXVlKSAlPiUKc3VtbWFyaXNlKGNvdW50cyA9IG4oKSkgCgpnZ3B1YnI6OmdnYmFycGxvdChkZiwgeCA9ICJDYWxjaWZpY2F0aW9uUGxhcXVlIiwgeSA9ICJjb3VudHMiLAogICAgICAgICAgICAgICAgICAgICMgeSA9ICIuLmNvdW50Li4iLAogICAgICAgICAgICAgICAgICAgIGNvbG9yID0gIndoaXRlIiwKICAgICAgICAgICAgICAgICAgICBmaWxsID0gIkdlbmRlciIsCiAgICAgICAgICAgICAgICAgICAgcGFsZXR0ZSA9IGMoIiNEQjAwM0YiLCAiIzEyOTBEOSIpLAogICAgICAgICAgICAgICAgICAgIGxhYmVsID0gVFJVRSwgbGFiLnZqdXN0ID0gMiwgbGFiLmNvbCA9ICIjRkZGRkZGIiwKICAgICAgICAgICAgICAgICAgICB0aXRsZSA9ICJDYWxjaWZpY2F0aW9uIiwKICAgICAgICAgICAgICAgICAgICB4bGFiID0gImNhbGNpZmljYXRpb24iLCAKICAgICAgICAgICAgICAgICAgICBnZ3RoZW1lID0gdGhlbWVfbWluaW1hbCgpKQpybShkZikKCiMgY29sbGFnZW4KY2F0KCJTdW1tYXJ5IG9mIGRhdGEuXG4iKQpzdW1tYXJ5KEFFREIuQ0VBJENvbGxhZ2VuLmJpbikKY29udHJhc3RzKEFFREIuQ0VBJENvbGxhZ2VuLmJpbikKCkFFREIuQ0VBJENvbGxhZ2VuUGxhcXVlIDwtIGFzLmZhY3RvcihBRURCLkNFQSRDb2xsYWdlbi5iaW4pCgpkZiA8LSBBRURCLkNFQSAlPiUKICBmaWx0ZXIoIWlzLm5hKENvbGxhZ2VuUGxhcXVlKSkgJT4lCiAgZ3JvdXBfYnkoR2VuZGVyLCBDb2xsYWdlblBsYXF1ZSkgJT4lCnN1bW1hcmlzZShjb3VudHMgPSBuKCkpIAoKZ2dwdWJyOjpnZ2JhcnBsb3QoZGYsIHggPSAiQ29sbGFnZW5QbGFxdWUiLCB5ID0gImNvdW50cyIsCiAgICAgICAgICAgICAgICAgICAgIyB5ID0gIi4uY291bnQuLiIsCiAgICAgICAgICAgICAgICAgICAgY29sb3IgPSAid2hpdGUiLAogICAgICAgICAgICAgICAgICAgIGZpbGwgPSAiR2VuZGVyIiwKICAgICAgICAgICAgICAgICAgICBwYWxldHRlID0gYygiI0RCMDAzRiIsICIjMTI5MEQ5IiksCiAgICAgICAgICAgICAgICAgICAgbGFiZWwgPSBUUlVFLCBsYWIudmp1c3QgPSAyLCBsYWIuY29sID0gIiNGRkZGRkYiLAogICAgICAgICAgICAgICAgICAgIHRpdGxlID0gIkNvbGxhZ2VuIiwKICAgICAgICAgICAgICAgICAgICB4bGFiID0gImNvbGxhZ2VuIiwgCiAgICAgICAgICAgICAgICAgICAgZ2d0aGVtZSA9IHRoZW1lX21pbmltYWwoKSkKcm0oZGYpCgojIGZhdCAxMCUKY2F0KCJTdW1tYXJ5IG9mIGRhdGEuXG4iKQpzdW1tYXJ5KEFFREIuQ0VBJEZhdC5iaW5fMTApCmNvbnRyYXN0cyhBRURCLkNFQSRGYXQuYmluXzEwKQoKQUVEQi5DRUEkRmF0MTBQZXJjIDwtIGFzLmZhY3RvcihBRURCLkNFQSRGYXQuYmluXzEwKQoKZGYgPC0gQUVEQi5DRUEgJT4lCiAgZmlsdGVyKCFpcy5uYShGYXQxMFBlcmMpKSAlPiUKICBncm91cF9ieShHZW5kZXIsIEZhdDEwUGVyYykgJT4lCnN1bW1hcmlzZShjb3VudHMgPSBuKCkpIAoKZ2dwdWJyOjpnZ2JhcnBsb3QoZGYsIHggPSAiRmF0MTBQZXJjIiwgeSA9ICJjb3VudHMiLAogICAgICAgICAgICAgICAgICAgICMgeSA9ICIuLmNvdW50Li4iLAogICAgICAgICAgICAgICAgICAgIGNvbG9yID0gIndoaXRlIiwKICAgICAgICAgICAgICAgICAgICBmaWxsID0gIkdlbmRlciIsCiAgICAgICAgICAgICAgICAgICAgcGFsZXR0ZSA9IGMoIiNEQjAwM0YiLCAiIzEyOTBEOSIpLAogICAgICAgICAgICAgICAgICAgIGxhYmVsID0gVFJVRSwgbGFiLnZqdXN0ID0gMiwgbGFiLmNvbCA9ICIjRkZGRkZGIiwKICAgICAgICAgICAgICAgICAgICB0aXRsZSA9ICJJbnRyYXBsYXF1ZSBmYXQiLAogICAgICAgICAgICAgICAgICAgIHhsYWIgPSAiaW50cmFwbGFxdWUgZmF0IiwgCiAgICAgICAgICAgICAgICAgICAgZ2d0aGVtZSA9IHRoZW1lX21pbmltYWwoKSkKcm0oZGYpCgojIG1hY3JvcGhhZ2VzIGJpbm5lZApjYXQoIlN1bW1hcnkgb2YgZGF0YS5cbiIpCnN1bW1hcnkoQUVEQi5DRUEkTWFjcm9waGFnZXMuYmluKQpjb250cmFzdHMoQUVEQi5DRUEkTWFjcm9waGFnZXMuYmluKQoKQUVEQi5DRUEkTUFDX2Jpbm5lZCA8LSBhcy5mYWN0b3IoQUVEQi5DRUEkTWFjcm9waGFnZXMuYmluKQoKZGYgPC0gQUVEQi5DRUEgJT4lCiAgZmlsdGVyKCFpcy5uYShNQUNfYmlubmVkKSkgJT4lCiAgZ3JvdXBfYnkoR2VuZGVyLCBNQUNfYmlubmVkKSAlPiUKc3VtbWFyaXNlKGNvdW50cyA9IG4oKSkgCgpnZ3B1YnI6OmdnYmFycGxvdChkZiwgeCA9ICJNQUNfYmlubmVkIiwgeSA9ICJjb3VudHMiLAogICAgICAgICAgICAgICAgICAgICMgeSA9ICIuLmNvdW50Li4iLAogICAgICAgICAgICAgICAgICAgIGNvbG9yID0gIndoaXRlIiwKICAgICAgICAgICAgICAgICAgICBmaWxsID0gIkdlbmRlciIsCiAgICAgICAgICAgICAgICAgICAgcGFsZXR0ZSA9IGMoIiNEQjAwM0YiLCAiIzEyOTBEOSIpLAogICAgICAgICAgICAgICAgICAgIGxhYmVsID0gVFJVRSwgbGFiLnZqdXN0ID0gMiwgbGFiLmNvbCA9ICIjRkZGRkZGIiwKICAgICAgICAgICAgICAgICAgICB0aXRsZSA9ICJNYWNyb3BoYWdlcyAoYmlubmVkKSIsCiAgICAgICAgICAgICAgICAgICAgeGxhYiA9ICJNYWNyb3BoYWdlcyIsIAogICAgICAgICAgICAgICAgICAgIGdndGhlbWUgPSB0aGVtZV9taW5pbWFsKCkpCnJtKGRmKQoKIyBtYWNyb3BoYWdlcyBncm91cGVkCmNhdCgiU3VtbWFyeSBvZiBkYXRhLlxuIikKQUVEQi5DRUEkbWFjcm9waGFnZXMgPC0gYXMuZmFjdG9yKEFFREIuQ0VBJG1hY3JvcGhhZ2VzKQpzdW1tYXJ5KEFFREIuQ0VBJG1hY3JvcGhhZ2VzKQpjb250cmFzdHMoQUVEQi5DRUEkbWFjcm9waGFnZXMpCgpBRURCLkNFQSRNQUNfZ3JvdXBlZCA8LSBhcy5mYWN0b3IoQUVEQi5DRUEkbWFjcm9waGFnZXMpCgpkZiA8LSBBRURCLkNFQSAlPiUKICBmaWx0ZXIoIWlzLm5hKE1BQ19ncm91cGVkKSkgJT4lCiAgZ3JvdXBfYnkoR2VuZGVyLCBNQUNfZ3JvdXBlZCkgJT4lCnN1bW1hcmlzZShjb3VudHMgPSBuKCkpIAoKZ2dwdWJyOjpnZ2JhcnBsb3QoZGYsIHggPSAiTUFDX2dyb3VwZWQiLCB5ID0gImNvdW50cyIsCiAgICAgICAgICAgICAgICAgICAgIyB5ID0gIi4uY291bnQuLiIsCiAgICAgICAgICAgICAgICAgICAgY29sb3IgPSAid2hpdGUiLAogICAgICAgICAgICAgICAgICAgIGZpbGwgPSAiR2VuZGVyIiwKICAgICAgICAgICAgICAgICAgICBwYWxldHRlID0gYygiI0RCMDAzRiIsICIjMTI5MEQ5IiksCiAgICAgICAgICAgICAgICAgICAgbGFiZWwgPSBUUlVFLCBsYWIudmp1c3QgPSAyLCBsYWIuY29sID0gIiNGRkZGRkYiLAogICAgICAgICAgICAgICAgICAgIHRpdGxlID0gIk1hY3JvcGhhZ2VzIChncm91cGVkKSIsCiAgICAgICAgICAgICAgICAgICAgeGxhYiA9ICJNYWNyb3BoYWdlcyIsIAogICAgICAgICAgICAgICAgICAgIGdndGhlbWUgPSB0aGVtZV9taW5pbWFsKCkpCnJtKGRmKQoKIyBTTUMgYmlubmVkCmNhdCgiU3VtbWFyeSBvZiBkYXRhLlxuIikKc3VtbWFyeShBRURCLkNFQSRTTUMuYmluKQpjb250cmFzdHMoQUVEQi5DRUEkU01DLmJpbikKCkFFREIuQ0VBJFNNQ19iaW5uZWQgPC0gYXMuZmFjdG9yKEFFREIuQ0VBJFNNQy5iaW4pCgpkZiA8LSBBRURCLkNFQSAlPiUKICBmaWx0ZXIoIWlzLm5hKFNNQ19iaW5uZWQpKSAlPiUKICBncm91cF9ieShHZW5kZXIsIFNNQ19iaW5uZWQpICU+JQpzdW1tYXJpc2UoY291bnRzID0gbigpKSAKCmdncHVicjo6Z2diYXJwbG90KGRmLCB4ID0gIlNNQ19iaW5uZWQiLCB5ID0gImNvdW50cyIsCiAgICAgICAgICAgICAgICAgICAgIyB5ID0gIi4uY291bnQuLiIsCiAgICAgICAgICAgICAgICAgICAgY29sb3IgPSAid2hpdGUiLAogICAgICAgICAgICAgICAgICAgIGZpbGwgPSAiR2VuZGVyIiwKICAgICAgICAgICAgICAgICAgICBwYWxldHRlID0gYygiI0RCMDAzRiIsICIjMTI5MEQ5IiksCiAgICAgICAgICAgICAgICAgICAgbGFiZWwgPSBUUlVFLCBsYWIudmp1c3QgPSAyLCBsYWIuY29sID0gIiNGRkZGRkYiLAogICAgICAgICAgICAgICAgICAgIHRpdGxlID0gIlNNQyAoYmlubmVkKSIsCiAgICAgICAgICAgICAgICAgICAgeGxhYiA9ICJTTUMiLCAKICAgICAgICAgICAgICAgICAgICBnZ3RoZW1lID0gdGhlbWVfbWluaW1hbCgpKQpybShkZikKCiMgU01DIGdyb3VwZWQKY2F0KCJTdW1tYXJ5IG9mIGRhdGEuXG4iKQpBRURCLkNFQSRzbWMgPC0gYXMuZmFjdG9yKEFFREIuQ0VBJHNtYykKc3VtbWFyeShBRURCLkNFQSRzbWMpCmNvbnRyYXN0cyhBRURCLkNFQSRzbWMpCgpBRURCLkNFQSRTTUNfZ3JvdXBlZCA8LSBhcy5mYWN0b3IoQUVEQi5DRUEkc21jKQoKZGYgPC0gQUVEQi5DRUEgJT4lCiAgZmlsdGVyKCFpcy5uYShTTUNfZ3JvdXBlZCkpICU+JQogIGdyb3VwX2J5KEdlbmRlciwgU01DX2dyb3VwZWQpICU+JQpzdW1tYXJpc2UoY291bnRzID0gbigpKSAKCmdncHVicjo6Z2diYXJwbG90KGRmLCB4ID0gIlNNQ19ncm91cGVkIiwgeSA9ICJjb3VudHMiLAogICAgICAgICAgICAgICAgICAgICMgeSA9ICIuLmNvdW50Li4iLAogICAgICAgICAgICAgICAgICAgIGNvbG9yID0gIndoaXRlIiwKICAgICAgICAgICAgICAgICAgICBmaWxsID0gIkdlbmRlciIsCiAgICAgICAgICAgICAgICAgICAgcGFsZXR0ZSA9IGMoIiNEQjAwM0YiLCAiIzEyOTBEOSIpLAogICAgICAgICAgICAgICAgICAgIGxhYmVsID0gVFJVRSwgbGFiLnZqdXN0ID0gMiwgbGFiLmNvbCA9ICIjRkZGRkZGIiwKICAgICAgICAgICAgICAgICAgICB0aXRsZSA9ICJTTUMgKGdyb3VwZWQpIiwKICAgICAgICAgICAgICAgICAgICB4bGFiID0gIlNNQyIsIAogICAgICAgICAgICAgICAgICAgIGdndGhlbWUgPSB0aGVtZV9taW5pbWFsKCkpCnJtKGRmKQoKCiMgSVBICmNhdCgiU3VtbWFyeSBvZiBkYXRhLlxuIikKc3VtbWFyeShBRURCLkNFQSRJUEguYmluKQpjb250cmFzdHMoQUVEQi5DRUEkSVBILmJpbikKCkFFREIuQ0VBJElQSCA8LSBhcy5mYWN0b3IoQUVEQi5DRUEkSVBILmJpbikKCmRmIDwtIEFFREIuQ0VBICU+JQogIGZpbHRlcighaXMubmEoSVBIKSkgJT4lCiAgZ3JvdXBfYnkoR2VuZGVyLCBJUEgpICU+JQpzdW1tYXJpc2UoY291bnRzID0gbigpKSAKCmdncHVicjo6Z2diYXJwbG90KGRmLCB4ID0gIklQSCIsIHkgPSAiY291bnRzIiwKICAgICAgICAgICAgICAgICAgICAjIHkgPSAiLi5jb3VudC4uIiwKICAgICAgICAgICAgICAgICAgICBjb2xvciA9ICJ3aGl0ZSIsCiAgICAgICAgICAgICAgICAgICAgZmlsbCA9ICJHZW5kZXIiLAogICAgICAgICAgICAgICAgICAgIHBhbGV0dGUgPSBjKCIjREIwMDNGIiwgIiMxMjkwRDkiKSwKICAgICAgICAgICAgICAgICAgICBsYWJlbCA9IFRSVUUsIGxhYi52anVzdCA9IDIsIGxhYi5jb2wgPSAiI0ZGRkZGRiIsCiAgICAgICAgICAgICAgICAgICAgdGl0bGUgPSAiSW50cmFwbGFxdWUgaGVtb3JyaGFnZSIsCiAgICAgICAgICAgICAgICAgICAgeGxhYiA9ICJpbnRyYXBsYXF1ZSBoZW1vcnJoYWdlIiwgCiAgICAgICAgICAgICAgICAgICAgZ2d0aGVtZSA9IHRoZW1lX21pbmltYWwoKSkKcm0oZGYpCgojIFN5bXB0b21zCmNhdCgiU3VtbWFyeSBvZiBkYXRhLlxuIikKc3VtbWFyeShBRURCLkNFQSRBc3ltcHRTeW1wdCkKY29udHJhc3RzKEFFREIuQ0VBJEFzeW1wdFN5bXB0KQoKQUVEQi5DRUEkQXN5bXB0U3ltcHQgPC0gYXMuZmFjdG9yKEFFREIuQ0VBJEFzeW1wdFN5bXB0KQoKZGYgPC0gQUVEQi5DRUEgJT4lCiAgZmlsdGVyKCFpcy5uYShBc3ltcHRTeW1wdCkpICU+JQogIGdyb3VwX2J5KEdlbmRlciwgQXN5bXB0U3ltcHQpICU+JQpzdW1tYXJpc2UoY291bnRzID0gbigpKSAKCmdncHVicjo6Z2diYXJwbG90KGRmLCB4ID0gIkFzeW1wdFN5bXB0IiwgeSA9ICJjb3VudHMiLAogICAgICAgICAgICAgICAgICAgICMgeSA9ICIuLmNvdW50Li4iLAogICAgICAgICAgICAgICAgICAgIGNvbG9yID0gIndoaXRlIiwKICAgICAgICAgICAgICAgICAgICBmaWxsID0gIkdlbmRlciIsCiAgICAgICAgICAgICAgICAgICAgcGFsZXR0ZSA9IGMoIiNEQjAwM0YiLCAiIzEyOTBEOSIpLAogICAgICAgICAgICAgICAgICAgIGxhYmVsID0gVFJVRSwgbGFiLnZqdXN0ID0gMiwgbGFiLmNvbCA9ICIjRkZGRkZGIiwKICAgICAgICAgICAgICAgICAgICB0aXRsZSA9ICJTeW1wdG9tcyIsCiAgICAgICAgICAgICAgICAgICAgeGxhYiA9ICJzeW1wdG9tcyIsIAogICAgICAgICAgICAgICAgICAgIGdndGhlbWUgPSB0aGVtZV9taW5pbWFsKCkpCnJtKGRmKQoKYGBgCgojIyMjIENvcnJlbGF0aW9ucyBiZXR3ZWVuIE1DUDEgcGxhcXVlIGxldmVscyBhbmQgc3VyZ2VyeSB5ZWFyCgpIZXJlIHdlIGNvbXBhcmUgdGhlIE1DUDEgcGxhcXVlIGxldmVscyBmcm9tIGV4cGVyaW1lbnQgMSB3aXRoIHRob3NlIGV4cGVyaW1lbnQgMi4gVGhlIGxhdHRlciB3ZSBtZWFzdXJlZCBpbiBwZy9tTCBhbmQgYWxzbyBjb3JyZWN0ZWQgZm9yIHRoZSB0b3RhbCBwcm90ZWluIGNvbnRlbnQgKHBnL3VnKS4KCmBgYHtyIE1DUDEgc2NhdHRlcnM6IHllYXIgb2Ygc3VyZ2VyeX0KcDEgPC0gZ2dwdWJyOjpnZ3NjYXR0ZXIoQUVEQi5DRUEsIAogICAgICAgICAgICAgICAgICAgICAgICB4ID0gIk9SeWVhciIsIAogICAgICAgICAgICAgICAgICAgICAgICB5ID0gIk1DUDFfcmFuayIsCiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yID0gIiMxMjkwRDkiLAogICAgICAgICAgICAgICAgICAgICAgICAjIGZpbGwgPSAiR2VuZGVyIiwKICAgICAgICAgICAgICAgICAgICAgICAgIyBwYWxldHRlID0gYygiIzEyOTBEOSIsICIjREIwMDNGIiksCiAgICAgICAgICAgICAgICAgICAgICAgIGFkZCA9ICJyZWcubGluZSIsCiAgICAgICAgICAgICAgICAgICAgICAgIGFkZC5wYXJhbXMgPSAgbGlzdChjb2xvciA9ICJibGFjayIsIGxpbmV0eXBlID0gMiksCiAgICAgICAgICAgICAgICAgICAgICAgIGNvci5jb2VmID0gVFJVRSwgY29yLm1ldGhvZCA9ICJzcGVhcm1hbiIsCiAgICAgICAgICAgICAgICAgICAgICAgIHhsYWIgPSAieWVhciBvZiBzdXJnZXJ5IiwKICAgICAgICAgICAgICAgICAgICAgICAgeWxhYiA9ICJleHBlcmltZW50IDEiLAogICAgICAgICAgICAgICAgICAgICAgICB0aXRsZSA9ICJNQ1AxIHBsYXF1ZSBsZXZlbHMsIElOVCwgW3BnL21MXSIsCiAgICAgICAgICAgICAgICAgICAgICAgIGdndGhlbWUgPSB0aGVtZV9taW5pbWFsKCkpCgpwMSAKCnAyIDwtIGdncHVicjo6Z2dzY2F0dGVyKEFFREIuQ0VBLCAKICAgICAgICAgICAgICAgICAgICAgICAgeCA9ICJPUnllYXIiLCAKICAgICAgICAgICAgICAgICAgICAgICAgeSA9ICJNQ1AxX3BnX21sXzIwMTVfcmFuayIsCiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yID0gIiMxMjkwRDkiLAogICAgICAgICAgICAgICAgICAgICAgICAjIGZpbGwgPSAiR2VuZGVyIiwKICAgICAgICAgICAgICAgICAgICAgICAgIyBwYWxldHRlID0gYygiIzEyOTBEOSIsICIjREIwMDNGIiksCiAgICAgICAgICAgICAgICAgICAgICAgIGFkZCA9ICJyZWcubGluZSIsCiAgICAgICAgICAgICAgICAgICAgICAgIGFkZC5wYXJhbXMgPSAgbGlzdChjb2xvciA9ICJibGFjayIsIGxpbmV0eXBlID0gMiksCiAgICAgICAgICAgICAgICAgICAgICAgIGNvci5jb2VmID0gVFJVRSwgY29yLm1ldGhvZCA9ICJzcGVhcm1hbiIsCiAgICAgICAgICAgICAgICAgICAgICAgIHhsYWIgPSAieWVhciBvZiBzdXJnZXJ5IiwKICAgICAgICAgICAgICAgICAgICAgICAgeWxhYiA9ICJleHBlcmltZW50IDIsIFtwZy9tTF0iLAogICAgICAgICAgICAgICAgICAgICAgICB0aXRsZSA9ICJNQ1AxIHBsYXF1ZSBsZXZlbHMsIElOVCwgW3BnL21MXS9bcGcvdWddIiwKICAgICAgICAgICAgICAgICAgICAgICAgZ2d0aGVtZSA9IHRoZW1lX21pbmltYWwoKSkKCnAyIAoKcDMgPC0gZ2dwdWJyOjpnZ3NjYXR0ZXIoQUVEQi5DRUEsIAogICAgICAgICAgICAgICAgICAgICAgICB4ID0gIk9SeWVhciIsIAogICAgICAgICAgICAgICAgICAgICAgICB5ID0gIk1DUDFfcGdfdWdfMjAxNV9yYW5rIiwKICAgICAgICAgICAgICAgICAgICAgICAgY29sb3IgPSAiIzEyOTBEOSIsCiAgICAgICAgICAgICAgICAgICAgICAgICMgZmlsbCA9ICJHZW5kZXIiLAogICAgICAgICAgICAgICAgICAgICAgICAjIHBhbGV0dGUgPSBjKCIjMTI5MEQ5IiwgIiNEQjAwM0YiKSwKICAgICAgICAgICAgICAgICAgICAgICAgYWRkID0gInJlZy5saW5lIiwKICAgICAgICAgICAgICAgICAgICAgICAgYWRkLnBhcmFtcyA9ICBsaXN0KGNvbG9yID0gImJsYWNrIiwgbGluZXR5cGUgPSAyKSwKICAgICAgICAgICAgICAgICAgICAgICAgY29yLmNvZWYgPSBUUlVFLCBjb3IubWV0aG9kID0gInNwZWFybWFuIiwKICAgICAgICAgICAgICAgICAgICAgICAgeGxhYiA9ICJ5ZWFyIG9mIHN1cmdlcnkiLAogICAgICAgICAgICAgICAgICAgICAgICB5bGFiID0gImV4cGVyaW1lbnQgMiwgW3BnL3VnXSIsCiAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlID0gIk1DUDEgcGxhcXVlIGxldmVscywgSU5UIiwKICAgICAgICAgICAgICAgICAgICAgICAgZ2d0aGVtZSA9IHRoZW1lX21pbmltYWwoKSkKCnAzCgpgYGAKCiMjIyMgQ29ycmVsYXRpb25zIGJldHdlZW4gTUNQMSBwbGFzbWEgbGV2ZWxzIGFuZCBzdXJnZXJ5IHllYXIKCkhlcmUgd2UgY29tcGFyZSB0aGUgTUNQMSBwbGFxdWUgbGV2ZWxzIGZyb20gZXhwZXJpbWVudCAxIHdpdGggdGhvc2UgZXhwZXJpbWVudCAyLiBUaGUgbGF0dGVyIHdlIG1lYXN1cmVkIGluIHBnL21MIGFuZCBhbHNvIGNvcnJlY3RlZCBmb3IgdGhlIHRvdGFsIHByb3RlaW4gY29udGVudCAocGcvdWcpLgoKYGBge3IgTUNQMSBwbGFzbWEgc2NhdHRlcnM6IHllYXIgb2Ygc3VyZ2VyeX0KbGlicmFyeShwYXRjaHdvcmspCnAxIDwtIGdncHVicjo6Z2dzY2F0dGVyKEFFREIuQ0VBLCAKICAgICAgICAgICAgICAgICAgICAgICAgeCA9ICJPUnllYXIiLCAKICAgICAgICAgICAgICAgICAgICAgICAgeSA9ICJNQ1AxX3BsYXNtYV9vbGluayIsCiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yID0gIiMxMjkwRDkiLAogICAgICAgICAgICAgICAgICAgICAgICAjIGZpbGwgPSAiR2VuZGVyIiwKICAgICAgICAgICAgICAgICAgICAgICAgIyBwYWxldHRlID0gYygiIzEyOTBEOSIsICIjREIwMDNGIiksCiAgICAgICAgICAgICAgICAgICAgICAgIGFkZCA9ICJyZWcubGluZSIsCiAgICAgICAgICAgICAgICAgICAgICAgIGFkZC5wYXJhbXMgPSAgbGlzdChjb2xvciA9ICJibGFjayIsIGxpbmV0eXBlID0gMiksCiAgICAgICAgICAgICAgICAgICAgICAgIGNvci5jb2VmID0gVFJVRSwgY29yLm1ldGhvZCA9ICJzcGVhcm1hbiIsCiAgICAgICAgICAgICAgICAgICAgICAgIHhsYWIgPSAieWVhciBvZiBzdXJnZXJ5IiwKICAgICAgICAgICAgICAgICAgICAgICAgeWxhYiA9ICJNQ1AxIHBsYXNtYSAtIE9MSU5LIiwKICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGUgPSAiTUNQMSBwbGFzbWEsIFtBVV0iLAogICAgICAgICAgICAgICAgICAgICAgICBnZ3RoZW1lID0gdGhlbWVfbWluaW1hbCgpKQoKcDIgPC0gZ2dwdWJyOjpnZ3NjYXR0ZXIoQUVEQi5DRUEsIAogICAgICAgICAgICAgICAgICAgICAgICB4ID0gIk9SeWVhciIsIAogICAgICAgICAgICAgICAgICAgICAgICB5ID0gIk1DUDFfcGxhc21hX29saW5rX3JhbmsiLAogICAgICAgICAgICAgICAgICAgICAgICBjb2xvciA9ICIjMTI5MEQ5IiwKICAgICAgICAgICAgICAgICAgICAgICAgIyBmaWxsID0gIkdlbmRlciIsCiAgICAgICAgICAgICAgICAgICAgICAgICMgcGFsZXR0ZSA9IGMoIiMxMjkwRDkiLCAiI0RCMDAzRiIpLAogICAgICAgICAgICAgICAgICAgICAgICBhZGQgPSAicmVnLmxpbmUiLAogICAgICAgICAgICAgICAgICAgICAgICBhZGQucGFyYW1zID0gIGxpc3QoY29sb3IgPSAiYmxhY2siLCBsaW5ldHlwZSA9IDIpLAogICAgICAgICAgICAgICAgICAgICAgICBjb3IuY29lZiA9IFRSVUUsIGNvci5tZXRob2QgPSAic3BlYXJtYW4iLAogICAgICAgICAgICAgICAgICAgICAgICB4bGFiID0gInllYXIgb2Ygc3VyZ2VyeSIsCiAgICAgICAgICAgICAgICAgICAgICAgIHlsYWIgPSAiTUNQMSBwbGFzbWEgLSBPTElOSyIsCiAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlID0gIk1DUDEgcGxhc21hLCBJTlQsIFtBVV0iLAogICAgICAgICAgICAgICAgICAgICAgICBnZ3RoZW1lID0gdGhlbWVfbWluaW1hbCgpKQoKcDEgLyBwMgpybShwMSwgcDIpCmBgYAoKCkluIHRoaXMgc2VjdGlvbiB3ZSBtYWtlIHNvbWUgdmFyaWFibGVzIHRvIGFzc2lzdCB3aXRoIGFuYWx5c2lzLgpgYGB7ciBDcm9zc1NlYzogcGxhcXVlcyAtIHNldHVwIHJlZ3Jlc3Npb24gfQpBRURCLkNFQS5zYW1wbGVzaXplID0gbnJvdyhBRURCLkNFQSkKIyBUUkFJVFMuUFJPVEVJTiA9IGMoIklMNl9MTiIsICJNQ1AxX0xOIiwgIklMNl9wZ191Z18yMDE1X0xOIiwgIklMNlJfcGdfdWdfMjAxNV9MTiIsICJNQ1AxX3BnX3VnXzIwMTVfTE4iKQojIFRSQUlUUy5QUk9URUlOLlJBTksgPSBjKCJJTDZfcmFuayIsICJNQ1AxX3JhbmsiLCAiSUw2X3BnX3VnXzIwMTVfcmFuayIsICJJTDZSX3BnX3VnXzIwMTVfcmFuayIsICJNQ1AxX3BnX3VnXzIwMTVfcmFuayIpCiMgVFJBSVRTLlBST1RFSU4uUkFOSyA9IGMoIk1DUDFfcGdfdWdfMjAxNV9yYW5rIiwgIk1DUDFfcmFuayIpClRSQUlUUy5QUk9URUlOLlJBTksgPSBjKCJNQ1AxX3BnX3VnXzIwMTVfcmFuayIsICJNQ1AxX3BnX21sXzIwMTVfcmFuayIsICJNQ1AxX3JhbmsiLCAiTUNQMV9wbGFzbWFfb2xpbmtfcmFuayIpCgojIFRSQUlUUy5DT04gPSBjKCJNYWNyb3BoYWdlc19MTiIsICJTTUNfTE4iLCAiVmVzc2VsRGVuc2l0eV9MTiIpCiMgVFJBSVRTLkNPTi5SQU5LID0gYygiTWFjcm9waGFnZXNfcmFuayIpClRSQUlUUy5DT04uUkFOSyA9IGMoIk1hY3JvcGhhZ2VzX3JhbmsiLCAiU01DX3JhbmsiLCAiVmVzc2VsRGVuc2l0eV9yYW5rIikKCiMgVFJBSVRTLkJJTiA9IGMoIk1BQ19iaW5uZWQiKQpUUkFJVFMuQklOID0gYygiQ2FsY2lmaWNhdGlvblBsYXF1ZSIsICJDb2xsYWdlblBsYXF1ZSIsICJGYXQxMFBlcmMiLCAiSVBIIiwKICAgICAgICAgICAgICAgIk1BQ19iaW5uZWQiLCAiU01DX2Jpbm5lZCIpCgoKIyAiSG9zcGl0YWwiLCAKIyAiQWdlIiwgIkdlbmRlciIsIAojICJUQ19maW5hbCIsICJMRExfZmluYWwiLCAiSERMX2ZpbmFsIiwgIlRHX2ZpbmFsIiwgCiMgInN5c3RvbGljIiwgImRpYXN0b2xpIiwgIkdGUl9NRFJEIiwgIkJNSSIsIAojICJLRE9RSSIsICJCTUlfV0hPIiwKIyAiU21va2VyQ3VycmVudCIsICJlQ2lnYXJldHRlcyIsICJlUGFja1llYXJzU21va2luZyIsCiMgIkRpYWJldGVzU3RhdHVzIiwgIkh5cGVydGVuc2lvbi5jb21wb3NpdGUiLCAKIyAiSHlwZXJ0ZW5zaW9uLmRydWdzIiwgIk1lZC5hbnRpY29hZ3VsYW50cyIsICJNZWQuYWxsLmFudGlwbGF0ZWxldCIsICJNZWQuU3RhdGluLkxMRCIsIAojICJTdHJva2VfRHgiLCAic3ltcHQiLCAiU3ltcHRvbXMuNUciLCAicmVzdGVub3MiLAojICJFUF9jb21wb3NpdGUiLCAiRVBfY29tcG9zaXRlX3RpbWUiLAojICJtYWNtZWFuMCIsICJzbWNtZWFuMCIsICJNYWNyb3BoYWdlcy5iaW4iLCAiU01DLmJpbiIsCiMgIm5ldXRyb3BoaWxzIiwgIk1hc3RfY2VsbHNfcGxhcXVlIiwKIyAiSVBILmJpbiIsICJ2ZXNzZWxfZGVuc2l0eV9hdmVyYWdlZCIsCiMgIkNhbGMuYmluIiwgIkNvbGxhZ2VuLmJpbiIsIAojICJGYXQuYmluXzEwIiwgIkZhdC5iaW5fNDAiLCAiT3ZlcmFsbFBsYXF1ZVBoZW5vdHlwZSIsCiMgIklMNl9wZ191Z18yMDE1IiwgIk1DUDFfcGdfdWdfMjAxNSIsIAojICJRQzIwMThfRklMVEVSIiwgIkNISVAiLCAiU0FNUExFX1RZUEUiLAojICJDQURfaGlzdG9yeSIsICJTdHJva2VfaGlzdG9yeSIsICJQZXJpcGhlcmFsLmludGVydiIsCiMgInN0ZW5vc2UiCgojIDEuICBBZ2UgKGNvbnRpbnVvdXMgaW4gMS15ZWFyIGluY3JlbWVudCkuIFtBZ2VdCiMgMi4gIFNleCAobWFsZSB2cy4gZmVtYWxlKS4gW0dlbmRlcl0KIyAzLiAgUHJlc2VuY2Ugb2YgaHlwZXJ0ZW5zaW9uIGF0IGJhc2VsaW5lIChkZWZpbmVkIGVpdGhlciBhcyBoaXN0b3J5IG9mIGh5cGVydGVuc2lvbiwgU0JQIOKJpTE0MCBtbSBIZywgREJQIOKJpTkwIG1tIEhnLCBvciBwcmVzY3JpcHRpb24gb2YgYW50aWh5cGVydGVuc2l2ZSBtZWRpY2F0aW9ucykuIFtIeXBlcnRlbnNpb24uY29tcG9zaXRlXQojIDQuICBQcmVzZW5jZSBvZiBkaWFiZXRlcyBtZWxsaXR1cyBhdCBiYXNlbGluZSAoZGVmaW5lZCBlaXRoZXIgYXMgYSBoaXN0b3J5IG9mIGRpYWJldGVzLCBhZG1pbmlzdHJhdGlvbiBvZiBnbHVjb3NlIGxvd2VyaW5nIG1lZGljYXRpb24sIEhiQTFjIOKJpTYuNSUsIGZhc3RpbmcgZ2x1Y29zZSDiiaUxMjYgbWcvZGwsIC5vciByYW5kb20gZ2x1Y29zZSBsZXZlbHMg4omlMjAwIG1nL2RsKS4gW0RpYWJldGVzU3RhdHVzXQojIDUuICBTbW9raW5nIChjdXJyZW50LCBleC0sIG5ldmVyKS4gW1Ntb2tlckN1cnJlbnRdCiMgNi4gIExETC1DIGxldmVscyAoY29udGludW91cykuIFtMRExfZmluYWxdCiMgNy4gIFVzZSBvZiBsaXBpZC1sb3dlcmluZyBkcnVncy4gW01lZC5TdGF0aW4uTExEXQojIDguICBVc2Ugb2YgYW50aXBsYXRlbGV0IGRydWdzLiBbTWVkLmFsbC5hbnRpcGxhdGVsZXRdCiMgOS4gIGVHRlIgKGNvbnRpbnVvdXMpLiBbR0ZSX01EUkRdCiMgMTAuCUJNSSAoY29udGludW91cykuIFtCTUldCiMgMTEuCUhpc3Rvcnkgb2YgY2FyZGlvdmFzY3VsYXIgZGlzZWFzZSAoc3Ryb2tlLCBjb3JvbmFyeSBhcnRlcnkgZGlzZWFzZSwgcGVyaXBoZXJhbCBhcnRlcnkgZGlzZWFzZSkuIFtNZWRIeF9DVkRdIGNvbWJpbmF0aW5vIG9mOiBbQ0FEX2hpc3RvcnksIFN0cm9rZV9oaXN0b3J5LCBQZXJpcGhlcmFsLmludGVydl0KIyAxMi4JTGV2ZWwgb2Ygc3Rlbm9zaXMgKDUwLTcwJSB2cy4gNzAtOTklKS4gW3N0ZW5vc2VdCgojIE1vZGVscyAKIyBNb2RlbCAxOiBhZGp1c3RlZCBmb3IgYWdlIGFuZCBzZXgKIyBNb2RlbCAyOiBhZGp1c3RlZCBmb3IgYWdlLCBzZXgsIGh5cGVydGVuc2lvbiwgZGlhYmV0ZXMsIHNtb2tpbmcsIExETC1DIGxldmVscywgbGlwaWQtbG93ZXJpbmcgZHJ1Z3MsIGFudGlwbGF0ZWxldCBkcnVncywgZUdGUiwgQk1JLCBoaXN0b3J5IG9mIENWRCwgbGV2ZWwgb2Ygc3Rlbm9zaXMsCgpBRURCLkNFQSRPUmRhdGVfZXBvY2ggPC0gYXMubnVtZXJpYyhBRURCLkNFQSRkYXRlb2spCkFFREIuQ0VBJE9SZGF0ZV95ZWFyIDwtIGFzLm51bWVyaWMoeWVhcihBRURCLkNFQSRkYXRlb2spKQoKY2F0KCJTdW1tYXJ5IG9mICd5ZWFyIG9mIHN1cmdlcnknIGluICdlcG9jaCcgKCk7IGNvZGVkIGFzIGBudW1lcmljKClgXG4iKQpzdW1tYXJ5KEFFREIuQ0VBJE9SZGF0ZV9lcG9jaCkKCmNhdCgiXG5TdW1tYXJ5IG9mICd5ZWFyIG9mIHN1cmdlcnknIGluICd5ZWFycycgKCk7IGNvZGVkIGFzIGBmYWN0b3IoKWBcbiIpCnRhYmxlKEFFREIuQ0VBJE9SZGF0ZV95ZWFyKQoKQ09WQVJJQVRFU19NMSA9IGMoIkFnZSIsICJHZW5kZXIiLCAiT1JkYXRlX3llYXIiKQojIENPVkFSSUFURVNfTTEgPSBjKCJBZ2UiLCAiR2VuZGVyIiwgIk9SZGF0ZV9lcG9jaCIpCgpDT1ZBUklBVEVTX00yID0gYyhDT1ZBUklBVEVTX00xLCAgCiAgICAgICAgICAgICAgICJIeXBlcnRlbnNpb24uY29tcG9zaXRlIiwgIkRpYWJldGVzU3RhdHVzIiwgCiAgICAgICAgICAgICAgICJTbW9rZXJTdGF0dXMiLCAKICAgICAgICAgICAgICAgIyAiU21va2VyQ3VycmVudCIsCiAgICAgICAgICAgICAgICJNZWQuU3RhdGluLkxMRCIsICJNZWQuYWxsLmFudGlwbGF0ZWxldCIsIAogICAgICAgICAgICAgICAiR0ZSX01EUkQiLCAiQk1JIiwgCiAgICAgICAgICAgICAgICMgIkNBRF9oaXN0b3J5IiwgIlN0cm9rZV9oaXN0b3J5IiwgIlBlcmlwaGVyYWwuaW50ZXJ2IiwgCiAgICAgICAgICAgICAgICJNZWRIeF9DVkQiLAogICAgICAgICAgICAgICAic3Rlbm9zZSIpCgojIENPVkFSSUFURVNfTTMgPSBjKENPVkFSSUFURVNfTTIsICJMRExfZmluYWwiKQoKIyBDT1ZBUklBVEVTX000ID0gYyhDT1ZBUklBVEVTX00yLCAiaHNDUlBfcGxhc21hIikKCiMgQ09WQVJJQVRFU19NNSA9IGMoQ09WQVJJQVRFU19NMiwgIklMNl9wZ191Z18yMDE1X0xOIikKIyBDT1ZBUklBVEVTX001cmFuayA9IGMoQ09WQVJJQVRFU19NMiwgIklMNl9wZ191Z18yMDE1X3JhbmsiKQoKYGBgCgojIyMgTW9kZWwgMQoKSW4gdGhpcyBtb2RlbCB3ZSBjb3JyZWN0IGZvciBfQWdlXywgX0dlbmRlcl8sIGFuZCBfeWVhciBvZiBzdXJnZXJ5Xy4KCkhlcmUgd2UgdXNlIHRoZSBpbnZlcnNlLXJhbmsgbm9ybWFsaXplZCBkYXRhIC0gdmlzdWFsbHkgdGhpcyBpcyBtb3JlIG5vcm1hbGx5IGRpc3RyaWJ1dGVkLgoKIyMjIyBRdWFudGl0YXRpdmUgcGxhcXVlIHRyYWl0cwoKQW5hbHlzaXMgb2YgY29udGludW91cy9xdWFudGl0YXRpdmUgcGxhcXVlIHRyYWl0cyBhcyBhIGZ1bmN0aW9uIG9mIHBsYXNtYS9wbGFxdWUgTUNQMSBsZXZlbHMuCmBgYHtyIENyb3NzU2VjOiBwbGFxdWVzIC0gbGluZWFyIHJlZ3Jlc3Npb24gTU9ERUwxIFJBTkssIGluY2x1ZGU9VFJVRSwgcGFnZWQucHJpbnQ9VFJVRX0KCkdMTS5yZXN1bHRzIDwtIGRhdGEuZnJhbWUobWF0cml4KE5BLCBuY29sID0gMTUsIG5yb3cgPSAwKSkKY2F0KCJSdW5uaW5nIGxpbmVhciByZWdyZXNzaW9uLi4uXG4iKQpmb3IgKHByb3RlaW4gaW4gMTpsZW5ndGgoVFJBSVRTLlBST1RFSU4uUkFOSykpIHsKICBQUk9URUlOID0gVFJBSVRTLlBST1RFSU4uUkFOS1twcm90ZWluXQogIGNhdChwYXN0ZTAoIlxuQW5hbHlzaXMgb2YgIixQUk9URUlOLCIuXG4iKSkKICBmb3IgKHRyYWl0IGluIDE6bGVuZ3RoKFRSQUlUUy5DT04uUkFOSykpIHsKICAgIFRSQUlUID0gVFJBSVRTLkNPTi5SQU5LW3RyYWl0XQogICAgY2F0KHBhc3RlMCgiXG4tIHByb2Nlc3NpbmcgIixUUkFJVCwiXG5cbiIpKQogICAgY3VycmVudERGIDwtIGFzLmRhdGEuZnJhbWUoQUVEQi5DRUEgJT4lCiAgICAgIGRwbHlyOjpzZWxlY3QoLiwgUFJPVEVJTiwgVFJBSVQsIENPVkFSSUFURVNfTTEpICU+JQogICAgICBmaWx0ZXIoY29tcGxldGUuY2FzZXMoLikpKSAlPiUKICAgICAgZmlsdGVyX2lmKH5pcy5udW1lcmljKC4pLCBhbGxfdmFycyghaXMuaW5maW5pdGUoLikpKQogICAgIyBmb3IgZGVidWcKICAgICMgcHJpbnQoRFQ6OmRhdGF0YWJsZShjdXJyZW50REYpKQogICAgIyBwcmludChucm93KGN1cnJlbnRERikpCiAgICAjIHByaW50KHN0cihjdXJyZW50REYpKQogICAgIyMjIHVuaXZhcmlhdGUKICAgIGZpdCA8LSBsbShjdXJyZW50REZbLFBST1RFSU5dIH4gY3VycmVudERGWyxUUkFJVF0gKyBBZ2UgKyBHZW5kZXIgKyBPUmRhdGVfeWVhciwgZGF0YSA9IGN1cnJlbnRERikKICAgIG1vZGVsX3N0ZXAgPC0gc3RlcEFJQyhmaXQsIGRpcmVjdGlvbiA9ICJib3RoIiwgdHJhY2UgPSBGQUxTRSkKICAgIHByaW50KG1vZGVsX3N0ZXApCiAgICBwcmludChzdW1tYXJ5KGZpdCkpCgogICAgR0xNLnJlc3VsdHMuVEVNUCA8LSBkYXRhLmZyYW1lKG1hdHJpeChOQSwgbmNvbCA9IDE1LCBucm93ID0gMCkpCiAgICBHTE0ucmVzdWx0cy5URU1QWzEsXSA9IEdMTS5DT04oZml0LCAiQUVEQi5DRUEiLCBQUk9URUlOLCBUUkFJVCwgdmVyYm9zZSA9IFRSVUUpCiAgICBHTE0ucmVzdWx0cyA9IHJiaW5kKEdMTS5yZXN1bHRzLCBHTE0ucmVzdWx0cy5URU1QKQogIH0KfQpjYXQoIkVkaXQgdGhlIGNvbHVtbiBuYW1lcy4uLlxuIikKY29sbmFtZXMoR0xNLnJlc3VsdHMpID0gYygiRGF0YXNldCIsICJQcmVkaWN0b3IiLCAiVHJhaXQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICJCZXRhIiwgInMuZS5tLiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIk9SIiwgImxvdzk1Q0kiLCAidXA5NUNJIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAiVC12YWx1ZSIsICJQLXZhbHVlIiwgInJeMiIsICJyXjJfYWRqIiwgIkFFX04iLCAiTW9kZWxfTiIsICJQZXJjX01pc3MiKQoKY2F0KCJDb3JyZWN0IHRoZSB2YXJpYWJsZSB0eXBlcy4uLlxuIikKR0xNLnJlc3VsdHMkQmV0YSA8LSBhcy5udW1lcmljKEdMTS5yZXN1bHRzJEJldGEpCkdMTS5yZXN1bHRzJHMuZS5tLiA8LSBhcy5udW1lcmljKEdMTS5yZXN1bHRzJHMuZS5tLikKR0xNLnJlc3VsdHMkT1IgPC0gYXMubnVtZXJpYyhHTE0ucmVzdWx0cyRPUikKR0xNLnJlc3VsdHMkbG93OTVDSSA8LSBhcy5udW1lcmljKEdMTS5yZXN1bHRzJGxvdzk1Q0kpCkdMTS5yZXN1bHRzJHVwOTVDSSA8LSBhcy5udW1lcmljKEdMTS5yZXN1bHRzJHVwOTVDSSkKR0xNLnJlc3VsdHMkYFQtdmFsdWVgIDwtIGFzLm51bWVyaWMoR0xNLnJlc3VsdHMkYFQtdmFsdWVgKQpHTE0ucmVzdWx0cyRgUC12YWx1ZWAgPC0gYXMubnVtZXJpYyhHTE0ucmVzdWx0cyRgUC12YWx1ZWApCkdMTS5yZXN1bHRzJGByXjJgIDwtIGFzLm51bWVyaWMoR0xNLnJlc3VsdHMkYHJeMmApCkdMTS5yZXN1bHRzJGByXjJfYWRqYCA8LSBhcy5udW1lcmljKEdMTS5yZXN1bHRzJGByXjJfYWRqYCkKR0xNLnJlc3VsdHMkYEFFX05gIDwtIGFzLm51bWVyaWMoR0xNLnJlc3VsdHMkYEFFX05gKQpHTE0ucmVzdWx0cyRgTW9kZWxfTmAgPC0gYXMubnVtZXJpYyhHTE0ucmVzdWx0cyRgTW9kZWxfTmApCkdMTS5yZXN1bHRzJGBQZXJjX01pc3NgIDwtIGFzLm51bWVyaWMoR0xNLnJlc3VsdHMkYFBlcmNfTWlzc2ApCgojIFNhdmUgdGhlIGRhdGEKY2F0KCJXcml0aW5nIHJlc3VsdHMgdG8gRXhjZWwtZmlsZS4uLlxuIikKIyMjIFVuaXZhcmlhdGUKbGlicmFyeShvcGVueGxzeCkKd3JpdGUueGxzeChHTE0ucmVzdWx0cywKICAgICAgICAgICBmaWxlID0gcGFzdGUwKE9VVF9sb2MsICIvIixUb2RheSwiLkFFREIuQ0VBLkNvbi5VbmkuUHJvdGVpbi5QbGFxdWVQaGVub3R5cGVzLlJBTksuTU9ERUwxLnhsc3giKSwKICAgICAgICAgICByb3cubmFtZXMgPSBGQUxTRSwgY29sLm5hbWVzID0gVFJVRSwgc2hlZXROYW1lID0gIkNvbi5VbmkuUGxhcXVlUGhlbm8iKQojIFJlbW92aW5nIGludGVybWVkaWF0ZXMKY2F0KCJSZW1vdmluZyBpbnRlcm1lZGlhdGUgZmlsZXMuLi5cbiIpCnJtKFRSQUlULCB0cmFpdCwgY3VycmVudERGLCBHTE0ucmVzdWx0cywgR0xNLnJlc3VsdHMuVEVNUCwgZml0LCBtb2RlbF9zdGVwKQoKCmBgYAoKIyMjIyBCaW5hcnkgcGxhcXVlIHRyYWl0cwoKQW5hbHlzaXMgb2YgYmluYXJ5IHBsYXF1ZSB0cmFpdHMgYXMgYSBmdW5jdGlvbiBvZiBwbGFzbWEvcGxhcXVlIE1DUDEgbGV2ZWxzLgpgYGB7ciBDcm9zc1NlYzogcGxhcXVlcyAtIGxvZ2lzdGljIHJlZ3Jlc3Npb24gTU9ERUwxIFJBTkssIGluY2x1ZGU9VFJVRSwgcGFnZWQucHJpbnQ9VFJVRX0KCkdMTS5yZXN1bHRzIDwtIGRhdGEuZnJhbWUobWF0cml4KE5BLCBuY29sID0gMTYsIG5yb3cgPSAwKSkKZm9yIChwcm90ZWluIGluIDE6bGVuZ3RoKFRSQUlUUy5QUk9URUlOLlJBTkspKSB7CiAgUFJPVEVJTiA9IFRSQUlUUy5QUk9URUlOLlJBTktbcHJvdGVpbl0KICBjYXQocGFzdGUwKCJcbkFuYWx5c2lzIG9mICIsUFJPVEVJTiwiLlxuIikpCiAgZm9yICh0cmFpdCBpbiAxOmxlbmd0aChUUkFJVFMuQklOKSkgewogICAgVFJBSVQgPSBUUkFJVFMuQklOW3RyYWl0XQogICAgY2F0KHBhc3RlMCgiXG4tIHByb2Nlc3NpbmcgIixUUkFJVCwiXG5cbiIpKQogICAgY3VycmVudERGIDwtIGFzLmRhdGEuZnJhbWUoQUVEQi5DRUEgJT4lCiAgICAgIGRwbHlyOjpzZWxlY3QoLiwgUFJPVEVJTiwgVFJBSVQsIENPVkFSSUFURVNfTTEpICU+JQogICAgICBmaWx0ZXIoY29tcGxldGUuY2FzZXMoLikpKSAlPiUKICAgICAgZmlsdGVyX2lmKH5pcy5udW1lcmljKC4pLCBhbGxfdmFycyghaXMuaW5maW5pdGUoLikpKQogICAgIyBmb3IgZGVidWcKICAgICMgcHJpbnQoRFQ6OmRhdGF0YWJsZShjdXJyZW50REYpKQogICAgIyBwcmludChucm93KGN1cnJlbnRERikpCiAgICAjIHByaW50KHN0cihjdXJyZW50REYpKQogICAgIyBwcmludChjbGFzcyhjdXJyZW50REZbLFRSQUlUXSkpCiAgICAjIyMgdW5pdmFyaWF0ZQogICAgZml0IDwtIGdsbShhcy5mYWN0b3IoY3VycmVudERGWyxUUkFJVF0pIH4gY3VycmVudERGWyxQUk9URUlOXSArIEFnZSArIEdlbmRlciArIE9SZGF0ZV95ZWFyLAogICAgICAgICAgICAgIGRhdGEgID0gIGN1cnJlbnRERiwgZmFtaWx5ID0gYmlub21pYWwobGluayA9ICJsb2dpdCIpKQogICAgbW9kZWxfc3RlcCA8LSBzdGVwQUlDKGZpdCwgZGlyZWN0aW9uID0gImJvdGgiLCB0cmFjZSA9IEZBTFNFKQogICAgcHJpbnQobW9kZWxfc3RlcCkKICAgIHByaW50KHN1bW1hcnkoZml0KSkKICAgIAogICAgR0xNLnJlc3VsdHMuVEVNUCA8LSBkYXRhLmZyYW1lKG1hdHJpeChOQSwgbmNvbCA9IDE2LCBucm93ID0gMCkpCiAgICBHTE0ucmVzdWx0cy5URU1QWzEsXSA9IEdMTS5CSU4oZml0LCAiQUVEQi5DRUEiLCBQUk9URUlOLCBUUkFJVCwgdmVyYm9zZSA9IFRSVUUpCiAgICBHTE0ucmVzdWx0cyA9IHJiaW5kKEdMTS5yZXN1bHRzLCBHTE0ucmVzdWx0cy5URU1QKQogIH0KfQpjYXQoIkVkaXQgdGhlIGNvbHVtbiBuYW1lcy4uLlxuIikKY29sbmFtZXMoR0xNLnJlc3VsdHMpID0gYygiRGF0YXNldCIsICJQcmVkaWN0b3IiLCAiVHJhaXQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICJCZXRhIiwgInMuZS5tLiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIk9SIiwgImxvdzk1Q0kiLCAidXA5NUNJIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAiWi12YWx1ZSIsICJQLXZhbHVlIiwgInJeMl9sIiwgInJeMl9jcyIsICJyXjJfbmFnZWxrZXJrZSIsICJBRV9OIiwgIk1vZGVsX04iLCAiUGVyY19NaXNzIikKCmNhdCgiQ29ycmVjdCB0aGUgdmFyaWFibGUgdHlwZXMuLi5cbiIpCkdMTS5yZXN1bHRzJEJldGEgPC0gYXMubnVtZXJpYyhHTE0ucmVzdWx0cyRCZXRhKQpHTE0ucmVzdWx0cyRzLmUubS4gPC0gYXMubnVtZXJpYyhHTE0ucmVzdWx0cyRzLmUubS4pCkdMTS5yZXN1bHRzJE9SIDwtIGFzLm51bWVyaWMoR0xNLnJlc3VsdHMkT1IpCkdMTS5yZXN1bHRzJGxvdzk1Q0kgPC0gYXMubnVtZXJpYyhHTE0ucmVzdWx0cyRsb3c5NUNJKQpHTE0ucmVzdWx0cyR1cDk1Q0kgPC0gYXMubnVtZXJpYyhHTE0ucmVzdWx0cyR1cDk1Q0kpCkdMTS5yZXN1bHRzJGBaLXZhbHVlYCA8LSBhcy5udW1lcmljKEdMTS5yZXN1bHRzJGBaLXZhbHVlYCkKR0xNLnJlc3VsdHMkYFAtdmFsdWVgIDwtIGFzLm51bWVyaWMoR0xNLnJlc3VsdHMkYFAtdmFsdWVgKQpHTE0ucmVzdWx0cyRgcl4yX2xgIDwtIGFzLm51bWVyaWMoR0xNLnJlc3VsdHMkYHJeMl9sYCkKR0xNLnJlc3VsdHMkYHJeMl9jc2AgPC0gYXMubnVtZXJpYyhHTE0ucmVzdWx0cyRgcl4yX2NzYCkKR0xNLnJlc3VsdHMkYHJeMl9uYWdlbGtlcmtlYCA8LSBhcy5udW1lcmljKEdMTS5yZXN1bHRzJGByXjJfbmFnZWxrZXJrZWApCkdMTS5yZXN1bHRzJGBBRV9OYCA8LSBhcy5udW1lcmljKEdMTS5yZXN1bHRzJGBBRV9OYCkKR0xNLnJlc3VsdHMkYE1vZGVsX05gIDwtIGFzLm51bWVyaWMoR0xNLnJlc3VsdHMkYE1vZGVsX05gKQpHTE0ucmVzdWx0cyRgUGVyY19NaXNzYCA8LSBhcy5udW1lcmljKEdMTS5yZXN1bHRzJGBQZXJjX01pc3NgKQoKIyBTYXZlIHRoZSBkYXRhCmNhdCgiV3JpdGluZyByZXN1bHRzIHRvIEV4Y2VsLWZpbGUuLi5cbiIpCgojIyMgVW5pdmFyaWF0ZQp3cml0ZS54bHN4KEdMTS5yZXN1bHRzLAogICAgICAgICAgIGZpbGUgPSBwYXN0ZTAoT1VUX2xvYywgIi8iLFRvZGF5LCIuQUVEQi5DRUEuQmluLlVuaS5Qcm90ZWluLlBsYXF1ZVBoZW5vdHlwZXMuUkFOSy5NT0RFTDEueGxzeCIpLAogICAgICAgICAgIHJvdy5uYW1lcyA9IEZBTFNFLCBjb2wubmFtZXMgPSBUUlVFLCBzaGVldE5hbWUgPSAiQmluLlVuaS5QbGFxdWVQaGVubyIpCgojIFJlbW92aW5nIGludGVybWVkaWF0ZXMKY2F0KCJSZW1vdmluZyBpbnRlcm1lZGlhdGUgZmlsZXMuLi5cbiIpCnJtKFRSQUlULCB0cmFpdCwgY3VycmVudERGLCBHTE0ucmVzdWx0cywgR0xNLnJlc3VsdHMuVEVNUCwgZml0LCBtb2RlbF9zdGVwKQoKYGBgCgoKIyMjIE1vZGVsIDIKCkluIHRoaXMgbW9kZWwgd2UgY29ycmVjdCBmb3IgX0FnZV8sIF9HZW5kZXJfLCBfeWVhciBvZiBzdXJnZXJ5XywgX0h5cGVydGVuc2lvbiBzdGF0dXNfLCBfRGlhYmV0ZXMgc3RhdHVzXywgX2N1cnJlbnQgc21va2VyIHN0YXR1c18sIF9saXBpZC1sb3dlcmluZyBkcnVncyAoTExEcylfLCBfYW50aXBsYXRlbGV0IG1lZGljYXRpb25fLCBfZUdGUiAoTURSRClfLCBfQk1JXywgX01lZEh4X0NWRF8gKGNvbWJpbmF0aW9uIG9mIF9DQUQgaGlzdG9yeV8sIF9zdHJva2UgaGlzdG9yeV8sIGFuZCBfcGVyaXBoZXJhbCBpbnRlcnZlbnRpb25zXyksIGFuZCBfc3Rlbm9zaXNfLgoKSGVyZSB3ZSB1c2UgdGhlIGludmVyc2UtcmFuayBub3JtYWxpemVkIGRhdGEgLSB2aXN1YWxseSB0aGlzIGlzIG1vcmUgbm9ybWFsbHkgZGlzdHJpYnV0ZWQuCgojIyMjIFF1YW50aXRhdGl2ZSBwbGFxdWUgdHJhaXRzCgpBbmFseXNpcyBvZiBjb250aW51b3VzL3F1YW50aXRhdGl2ZSBwbGFxdWUgdHJhaXRzIGFzIGEgZnVuY3Rpb24gb2YgcGxhc21hL3BsYXF1ZSBNQ1AxIGxldmVscy4KYGBge3IgQ3Jvc3NTZWM6IHBsYXF1ZXMgLSBsaW5lYXIgcmVncmVzc2lvbiBNT0RFTDIgUkFOSywgaW5jbHVkZT1UUlVFLCBwYWdlZC5wcmludD1UUlVFfQoKR0xNLnJlc3VsdHMgPC0gZGF0YS5mcmFtZShtYXRyaXgoTkEsIG5jb2wgPSAxNSwgbnJvdyA9IDApKQpjYXQoIlJ1bm5pbmcgbGluZWFyIHJlZ3Jlc3Npb24uLi5cbiIpCmZvciAocHJvdGVpbiBpbiAxOmxlbmd0aChUUkFJVFMuUFJPVEVJTi5SQU5LKSkgewogIFBST1RFSU4gPSBUUkFJVFMuUFJPVEVJTi5SQU5LW3Byb3RlaW5dCiAgY2F0KHBhc3RlMCgiXG5BbmFseXNpcyBvZiAiLFBST1RFSU4sIi5cbiIpKQogIGZvciAodHJhaXQgaW4gMTpsZW5ndGgoVFJBSVRTLkNPTi5SQU5LKSkgewogICAgVFJBSVQgPSBUUkFJVFMuQ09OLlJBTktbdHJhaXRdCiAgICBjYXQocGFzdGUwKCJcbi0gcHJvY2Vzc2luZyAiLFRSQUlULCJcblxuIikpCiAgICBjdXJyZW50REYgPC0gYXMuZGF0YS5mcmFtZShBRURCLkNFQSAlPiUKICAgICAgZHBseXI6OnNlbGVjdCguLCBQUk9URUlOLCBUUkFJVCwgQ09WQVJJQVRFU19NMikgJT4lCiAgICAgIGZpbHRlcihjb21wbGV0ZS5jYXNlcyguKSkpICU+JQogICAgICBmaWx0ZXJfaWYofmlzLm51bWVyaWMoLiksIGFsbF92YXJzKCFpcy5pbmZpbml0ZSguKSkpCiAgICAjIGZvciBkZWJ1ZwogICAgIyBwcmludChEVDo6ZGF0YXRhYmxlKGN1cnJlbnRERikpCiAgICAjIHByaW50KG5yb3coY3VycmVudERGKSkKICAgICMgcHJpbnQoc3RyKGN1cnJlbnRERikpCiAgICAjIyMgdW5pdmFyaWF0ZQogICAgZml0IDwtIGxtKGN1cnJlbnRERlssUFJPVEVJTl0gfiBjdXJyZW50REZbLFRSQUlUXSArIEFnZSArIEdlbmRlciArIE9SZGF0ZV95ZWFyICsgCiAgICAgICAgICAgICAgICBIeXBlcnRlbnNpb24uY29tcG9zaXRlICsgRGlhYmV0ZXNTdGF0dXMgKyBTbW9rZXJTdGF0dXMgKyAKICAgICAgICAgICAgICAgIE1lZC5TdGF0aW4uTExEICsgTWVkLmFsbC5hbnRpcGxhdGVsZXQgKyBHRlJfTURSRCArIEJNSSArIAogICAgICAgICAgICAgICAgTWVkSHhfQ1ZEICsgc3Rlbm9zZSwgCiAgICAgICAgICAgICAgZGF0YSA9IGN1cnJlbnRERikKICAgIG1vZGVsX3N0ZXAgPC0gc3RlcEFJQyhmaXQsIGRpcmVjdGlvbiA9ICJib3RoIiwgdHJhY2UgPSBGQUxTRSkKICAgIHByaW50KG1vZGVsX3N0ZXApCiAgICBwcmludChzdW1tYXJ5KGZpdCkpCiAgICAKICAgIEdMTS5yZXN1bHRzLlRFTVAgPC0gZGF0YS5mcmFtZShtYXRyaXgoTkEsIG5jb2wgPSAxNSwgbnJvdyA9IDApKQogICAgR0xNLnJlc3VsdHMuVEVNUFsxLF0gPSBHTE0uQ09OKGZpdCwgIkFFREIuQ0VBIiwgUFJPVEVJTiwgVFJBSVQsIHZlcmJvc2UgPSBUUlVFKQogICAgR0xNLnJlc3VsdHMgPSByYmluZChHTE0ucmVzdWx0cywgR0xNLnJlc3VsdHMuVEVNUCkKICB9Cn0KY2F0KCJFZGl0IHRoZSBjb2x1bW4gbmFtZXMuLi5cbiIpCmNvbG5hbWVzKEdMTS5yZXN1bHRzKSA9IGMoIkRhdGFzZXQiLCAiUHJlZGljdG9yIiwgIlRyYWl0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAiQmV0YSIsICJzLmUubS4iLAogICAgICAgICAgICAgICAgICAgICAgICAgICJPUiIsICJsb3c5NUNJIiwgInVwOTVDSSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIlQtdmFsdWUiLCAiUC12YWx1ZSIsICJyXjIiLCAicl4yX2FkaiIsICJBRV9OIiwgIk1vZGVsX04iLCAiUGVyY19NaXNzIikKCmNhdCgiQ29ycmVjdCB0aGUgdmFyaWFibGUgdHlwZXMuLi5cbiIpCkdMTS5yZXN1bHRzJEJldGEgPC0gYXMubnVtZXJpYyhHTE0ucmVzdWx0cyRCZXRhKQpHTE0ucmVzdWx0cyRzLmUubS4gPC0gYXMubnVtZXJpYyhHTE0ucmVzdWx0cyRzLmUubS4pCkdMTS5yZXN1bHRzJE9SIDwtIGFzLm51bWVyaWMoR0xNLnJlc3VsdHMkT1IpCkdMTS5yZXN1bHRzJGxvdzk1Q0kgPC0gYXMubnVtZXJpYyhHTE0ucmVzdWx0cyRsb3c5NUNJKQpHTE0ucmVzdWx0cyR1cDk1Q0kgPC0gYXMubnVtZXJpYyhHTE0ucmVzdWx0cyR1cDk1Q0kpCkdMTS5yZXN1bHRzJGBULXZhbHVlYCA8LSBhcy5udW1lcmljKEdMTS5yZXN1bHRzJGBULXZhbHVlYCkKR0xNLnJlc3VsdHMkYFAtdmFsdWVgIDwtIGFzLm51bWVyaWMoR0xNLnJlc3VsdHMkYFAtdmFsdWVgKQpHTE0ucmVzdWx0cyRgcl4yYCA8LSBhcy5udW1lcmljKEdMTS5yZXN1bHRzJGByXjJgKQpHTE0ucmVzdWx0cyRgcl4yX2FkamAgPC0gYXMubnVtZXJpYyhHTE0ucmVzdWx0cyRgcl4yX2FkamApCkdMTS5yZXN1bHRzJGBBRV9OYCA8LSBhcy5udW1lcmljKEdMTS5yZXN1bHRzJGBBRV9OYCkKR0xNLnJlc3VsdHMkYE1vZGVsX05gIDwtIGFzLm51bWVyaWMoR0xNLnJlc3VsdHMkYE1vZGVsX05gKQpHTE0ucmVzdWx0cyRgUGVyY19NaXNzYCA8LSBhcy5udW1lcmljKEdMTS5yZXN1bHRzJGBQZXJjX01pc3NgKQoKIyBTYXZlIHRoZSBkYXRhCmNhdCgiV3JpdGluZyByZXN1bHRzIHRvIEV4Y2VsLWZpbGUuLi5cbiIpCiMjIyBVbml2YXJpYXRlCmxpYnJhcnkob3Blbnhsc3gpCndyaXRlLnhsc3goR0xNLnJlc3VsdHMsCiAgICAgICAgICAgZmlsZSA9IHBhc3RlMChPVVRfbG9jLCAiLyIsVG9kYXksIi5BRURCLkNFQS5Db24uTXVsdGkuUHJvdGVpbi5QbGFxdWVQaGVub3R5cGVzLlJBTksuTU9ERUwyLnhsc3giKSwKICAgICAgICAgICByb3cubmFtZXMgPSBGQUxTRSwgY29sLm5hbWVzID0gVFJVRSwgc2hlZXROYW1lID0gIkNvbi5NdWx0aS5QbGFxdWVQaGVubyIpCiMgUmVtb3ZpbmcgaW50ZXJtZWRpYXRlcwpjYXQoIlJlbW92aW5nIGludGVybWVkaWF0ZSBmaWxlcy4uLlxuIikKcm0oVFJBSVQsIHRyYWl0LCBjdXJyZW50REYsIEdMTS5yZXN1bHRzLCBHTE0ucmVzdWx0cy5URU1QLCBmaXQsIG1vZGVsX3N0ZXApCgoKYGBgCgojIyMjIEJpbmFyeSBwbGFxdWUgdHJhaXRzCgpBbmFseXNpcyBvZiBiaW5hcnkgcGxhcXVlIHRyYWl0cyBhcyBhIGZ1bmN0aW9uIG9mIHBsYXNtYS9wbGFxdWUgTUNQMSBsZXZlbHMuCmBgYHtyIENyb3NzU2VjOiBwbGFxdWVzIC0gbG9naXN0aWMgcmVncmVzc2lvbiBNT0RFTDIgUkFOSywgaW5jbHVkZT1UUlVFLCBwYWdlZC5wcmludD1UUlVFfQoKR0xNLnJlc3VsdHMgPC0gZGF0YS5mcmFtZShtYXRyaXgoTkEsIG5jb2wgPSAxNiwgbnJvdyA9IDApKQpmb3IgKHByb3RlaW4gaW4gMTpsZW5ndGgoVFJBSVRTLlBST1RFSU4uUkFOSykpIHsKICBQUk9URUlOID0gVFJBSVRTLlBST1RFSU4uUkFOS1twcm90ZWluXQogIGNhdChwYXN0ZTAoIlxuQW5hbHlzaXMgb2YgIixQUk9URUlOLCIuXG4iKSkKICBmb3IgKHRyYWl0IGluIDE6bGVuZ3RoKFRSQUlUUy5CSU4pKSB7CiAgICBUUkFJVCA9IFRSQUlUUy5CSU5bdHJhaXRdCiAgICBjYXQocGFzdGUwKCJcbi0gcHJvY2Vzc2luZyAiLFRSQUlULCJcblxuIikpCiAgICBjdXJyZW50REYgPC0gYXMuZGF0YS5mcmFtZShBRURCLkNFQSAlPiUKICAgICAgZHBseXI6OnNlbGVjdCguLCBQUk9URUlOLCBUUkFJVCwgQ09WQVJJQVRFU19NMikgJT4lCiAgICAgIGZpbHRlcihjb21wbGV0ZS5jYXNlcyguKSkpICU+JQogICAgICBmaWx0ZXJfaWYofmlzLm51bWVyaWMoLiksIGFsbF92YXJzKCFpcy5pbmZpbml0ZSguKSkpCiAgICAjIGZvciBkZWJ1ZwogICAgIyBwcmludChEVDo6ZGF0YXRhYmxlKGN1cnJlbnRERikpCiAgICAjIHByaW50KG5yb3coY3VycmVudERGKSkKICAgICMgcHJpbnQoc3RyKGN1cnJlbnRERikpCiAgICAjIHByaW50KGNsYXNzKGN1cnJlbnRERlssVFJBSVRdKSkKICAgICMjIyB1bml2YXJpYXRlCiAgICBmaXQgPC0gZ2xtKGFzLmZhY3RvcihjdXJyZW50REZbLFRSQUlUXSkgfiBjdXJyZW50REZbLFBST1RFSU5dICsgQWdlICsgR2VuZGVyICsgT1JkYXRlX3llYXIgKyAKICAgICAgICAgICAgICAgIEh5cGVydGVuc2lvbi5jb21wb3NpdGUgKyBEaWFiZXRlc1N0YXR1cyArIFNtb2tlclN0YXR1cyArIAogICAgICAgICAgICAgICAgTWVkLlN0YXRpbi5MTEQgKyBNZWQuYWxsLmFudGlwbGF0ZWxldCArIEdGUl9NRFJEICsgQk1JICsgCiAgICAgICAgICAgICAgICBNZWRIeF9DVkQgKyBzdGVub3NlLCAKICAgICAgICAgICAgICBkYXRhICA9ICBjdXJyZW50REYsIGZhbWlseSA9IGJpbm9taWFsKGxpbmsgPSAibG9naXQiKSkKICAgIG1vZGVsX3N0ZXAgPC0gc3RlcEFJQyhmaXQsIGRpcmVjdGlvbiA9ICJib3RoIiwgdHJhY2UgPSBGQUxTRSkKICAgIHByaW50KG1vZGVsX3N0ZXApCiAgICBwcmludChzdW1tYXJ5KGZpdCkpCiAgICAKICAgIEdMTS5yZXN1bHRzLlRFTVAgPC0gZGF0YS5mcmFtZShtYXRyaXgoTkEsIG5jb2wgPSAxNiwgbnJvdyA9IDApKQogICAgR0xNLnJlc3VsdHMuVEVNUFsxLF0gPSBHTE0uQklOKGZpdCwgIkFFREIuQ0VBIiwgUFJPVEVJTiwgVFJBSVQsIHZlcmJvc2UgPSBUUlVFKQogICAgR0xNLnJlc3VsdHMgPSByYmluZChHTE0ucmVzdWx0cywgR0xNLnJlc3VsdHMuVEVNUCkKICB9Cn0KY2F0KCJFZGl0IHRoZSBjb2x1bW4gbmFtZXMuLi5cbiIpCmNvbG5hbWVzKEdMTS5yZXN1bHRzKSA9IGMoIkRhdGFzZXQiLCAiUHJlZGljdG9yIiwgIlRyYWl0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAiQmV0YSIsICJzLmUubS4iLAogICAgICAgICAgICAgICAgICAgICAgICAgICJPUiIsICJsb3c5NUNJIiwgInVwOTVDSSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIlotdmFsdWUiLCAiUC12YWx1ZSIsICJyXjJfbCIsICJyXjJfY3MiLCAicl4yX25hZ2Vsa2Vya2UiLCAiQUVfTiIsICJNb2RlbF9OIiwgIlBlcmNfTWlzcyIpCgpjYXQoIkNvcnJlY3QgdGhlIHZhcmlhYmxlIHR5cGVzLi4uXG4iKQpHTE0ucmVzdWx0cyRCZXRhIDwtIGFzLm51bWVyaWMoR0xNLnJlc3VsdHMkQmV0YSkKR0xNLnJlc3VsdHMkcy5lLm0uIDwtIGFzLm51bWVyaWMoR0xNLnJlc3VsdHMkcy5lLm0uKQpHTE0ucmVzdWx0cyRPUiA8LSBhcy5udW1lcmljKEdMTS5yZXN1bHRzJE9SKQpHTE0ucmVzdWx0cyRsb3c5NUNJIDwtIGFzLm51bWVyaWMoR0xNLnJlc3VsdHMkbG93OTVDSSkKR0xNLnJlc3VsdHMkdXA5NUNJIDwtIGFzLm51bWVyaWMoR0xNLnJlc3VsdHMkdXA5NUNJKQpHTE0ucmVzdWx0cyRgWi12YWx1ZWAgPC0gYXMubnVtZXJpYyhHTE0ucmVzdWx0cyRgWi12YWx1ZWApCkdMTS5yZXN1bHRzJGBQLXZhbHVlYCA8LSBhcy5udW1lcmljKEdMTS5yZXN1bHRzJGBQLXZhbHVlYCkKR0xNLnJlc3VsdHMkYHJeMl9sYCA8LSBhcy5udW1lcmljKEdMTS5yZXN1bHRzJGByXjJfbGApCkdMTS5yZXN1bHRzJGByXjJfY3NgIDwtIGFzLm51bWVyaWMoR0xNLnJlc3VsdHMkYHJeMl9jc2ApCkdMTS5yZXN1bHRzJGByXjJfbmFnZWxrZXJrZWAgPC0gYXMubnVtZXJpYyhHTE0ucmVzdWx0cyRgcl4yX25hZ2Vsa2Vya2VgKQpHTE0ucmVzdWx0cyRgQUVfTmAgPC0gYXMubnVtZXJpYyhHTE0ucmVzdWx0cyRgQUVfTmApCkdMTS5yZXN1bHRzJGBNb2RlbF9OYCA8LSBhcy5udW1lcmljKEdMTS5yZXN1bHRzJGBNb2RlbF9OYCkKR0xNLnJlc3VsdHMkYFBlcmNfTWlzc2AgPC0gYXMubnVtZXJpYyhHTE0ucmVzdWx0cyRgUGVyY19NaXNzYCkKCiMgU2F2ZSB0aGUgZGF0YQpjYXQoIldyaXRpbmcgcmVzdWx0cyB0byBFeGNlbC1maWxlLi4uXG4iKQoKIyMjIFVuaXZhcmlhdGUKd3JpdGUueGxzeChHTE0ucmVzdWx0cywKICAgICAgICAgICBmaWxlID0gcGFzdGUwKE9VVF9sb2MsICIvIixUb2RheSwiLkFFREIuQ0VBLkJpbi5NdWx0aS5Qcm90ZWluLlBsYXF1ZVBoZW5vdHlwZXMuUkFOSy5NT0RFTDIueGxzeCIpLAogICAgICAgICAgIHJvdy5uYW1lcyA9IEZBTFNFLCBjb2wubmFtZXMgPSBUUlVFLCBzaGVldE5hbWUgPSAiQmluLk11bHRpLlBsYXF1ZVBoZW5vIikKCiMgUmVtb3ZpbmcgaW50ZXJtZWRpYXRlcwpjYXQoIlJlbW92aW5nIGludGVybWVkaWF0ZSBmaWxlcy4uLlxuIikKcm0oVFJBSVQsIHRyYWl0LCBjdXJyZW50REYsIEdMTS5yZXN1bHRzLCBHTE0ucmVzdWx0cy5URU1QLCBmaXQsIG1vZGVsX3N0ZXApCgpgYGAKCgojIyBCLiBDcm9zcy1zZWN0aW9uYWwgYW5hbHlzaXMgc3ltcHRvbXMKCldlIHdpbGwgcGVyZm9ybSBhIGNyb3NzLXNlY3Rpb25hbCBhbmFseXNpcyBiZXR3ZWVuIHBsYXF1ZSBhbmQgcGxhc21hIE1DUDEsIElMNiwgYW5kIElMNlIgbGV2ZWxzIGFuZCB0aGUgJ2NsaW5pY2FsIHN0YXR1cycgb2YgdGhlIHBsYXF1ZSBpbiB0ZXJtcyBvZiBwcmVzZW5jZSBvZiBwYXRpZW50cycgc3ltcHRvbXMgKHN5bXB0b21hdGljIHZzLiBhc3ltcHRvbWF0aWMpLiBUaGUgc3ltcHRvbXMgb2YgaW50ZXJlc3QgYXJlOgoKLSBzdHJva2UKLSBUSUEKLSByZXRpbmFsIGluZmFyY3Rpb24KLSBhbWF1cm9zaXMgZnVnYXgKLSBhc3ltcHRvbWF0aWMKCiMjIyBNb2RlbCAxCgpJbiB0aGlzIG1vZGVsIHdlIGNvcnJlY3QgZm9yIF9BZ2VfLCBfR2VuZGVyXywgYW5kIF95ZWFyIG9mIHN1cmdlcnlfLgoKPiBOT1RFIEdpdmVuIHRoYXQgTUNQMSBwbGFzbWEgd2FzIG9ubHkgbWVhc3VyZWQgaW4gc3ltcHRvbWF0aWMgcGF0aWVudHMsIHdlIGV4Y2x1ZGUgaXQgZnJvbSB0aGlzIGFuYWx5c2lzLgoKYGBge3IgQ3Jvc3NTZWM6IHN5bXB0b21zIC0gbG9naXN0aWMgcmVncmVzc2lvbiBNT0RFTDEgUkFOSywgaW5jbHVkZT1UUlVFLCBwYWdlZC5wcmludD1UUlVFfQpUUkFJVFMuUFJPVEVJTi5SQU5LLmxpbWl0IDwtIGMoIk1DUDFfcGdfdWdfMjAxNV9yYW5rIiwgIk1DUDFfcGdfbWxfMjAxNV9yYW5rIiwgIk1DUDFfcmFuayIpCkdMTS5yZXN1bHRzIDwtIGRhdGEuZnJhbWUobWF0cml4KE5BLCBuY29sID0gMTYsIG5yb3cgPSAwKSkKZm9yIChwcm90ZWluIGluIDE6bGVuZ3RoKFRSQUlUUy5QUk9URUlOLlJBTksubGltaXQpKSB7CiAgUFJPVEVJTiA9IFRSQUlUUy5QUk9URUlOLlJBTksubGltaXRbcHJvdGVpbl0KICBjYXQocGFzdGUwKCJcbkFuYWx5c2lzIG9mICIsUFJPVEVJTiwiLlxuIikpCiAgVFJBSVQgPSAiQXN5bXB0U3ltcHQiCiAgICBjYXQocGFzdGUwKCJcbi0gcHJvY2Vzc2luZyAiLFRSQUlULCJcblxuIikpCiAgICBjdXJyZW50REYgPC0gYXMuZGF0YS5mcmFtZShBRURCLkNFQSAlPiUKICAgICAgZHBseXI6OnNlbGVjdCguLCBQUk9URUlOLCBUUkFJVCwgQ09WQVJJQVRFU19NMSkgJT4lCiAgICAgIGZpbHRlcihjb21wbGV0ZS5jYXNlcyguKSkpICU+JQogICAgICBmaWx0ZXJfaWYofmlzLm51bWVyaWMoLiksIGFsbF92YXJzKCFpcy5pbmZpbml0ZSguKSkpCiAgICAjIGZvciBkZWJ1ZwogICAgIyBwcmludChEVDo6ZGF0YXRhYmxlKGN1cnJlbnRERikpCiAgICAjIHByaW50KG5yb3coY3VycmVudERGKSkKICAgICMgcHJpbnQoc3RyKGN1cnJlbnRERikpCiAgICAjIHByaW50KGNsYXNzKGN1cnJlbnRERlssVFJBSVRdKSkKICAgICMjIyB1bml2YXJpYXRlCiAgICAgIyArIEh5cGVydGVuc2lvbi5jb21wb3NpdGUgKyBEaWFiZXRlc1N0YXR1cyArIFNtb2tlckN1cnJlbnQgKyAKICAgICAjICAgICAgICAgICAgTWVkLlN0YXRpbi5MTEQgKyBNZWQuYWxsLmFudGlwbGF0ZWxldCArIEdGUl9NRFJEICsgQk1JICsgCiAgICAgIyAgICAgICAgICAgIENBRF9oaXN0b3J5ICsgU3Ryb2tlX2hpc3RvcnkgKyBQZXJpcGhlcmFsLmludGVydiArIHN0ZW5vc2UKICAgIGZpdCA8LSBnbG0oYXMuZmFjdG9yKGN1cnJlbnRERlssVFJBSVRdKSB+IGN1cnJlbnRERlssUFJPVEVJTl0gKyBBZ2UgKyBHZW5kZXIgKyBPUmRhdGVfeWVhciwgCiAgICAgICAgICAgICAgZGF0YSAgPSAgY3VycmVudERGLCBmYW1pbHkgPSBiaW5vbWlhbChsaW5rID0gImxvZ2l0IikpCiAgICBtb2RlbF9zdGVwIDwtIHN0ZXBBSUMoZml0LCBkaXJlY3Rpb24gPSAiYm90aCIsIHRyYWNlID0gRkFMU0UpCiAgICBwcmludChtb2RlbF9zdGVwKQogICAgcHJpbnQoc3VtbWFyeShmaXQpKQogICAgCiAgICBHTE0ucmVzdWx0cy5URU1QIDwtIGRhdGEuZnJhbWUobWF0cml4KE5BLCBuY29sID0gMTYsIG5yb3cgPSAwKSkKICAgIEdMTS5yZXN1bHRzLlRFTVBbMSxdID0gR0xNLkJJTihmaXQsICJBRURCLkNFQSIsIFBST1RFSU4sIFRSQUlULCB2ZXJib3NlID0gVFJVRSkKICAgIEdMTS5yZXN1bHRzID0gcmJpbmQoR0xNLnJlc3VsdHMsIEdMTS5yZXN1bHRzLlRFTVApCiAgfQpjYXQoIkVkaXQgdGhlIGNvbHVtbiBuYW1lcy4uLlxuIikKY29sbmFtZXMoR0xNLnJlc3VsdHMpID0gYygiRGF0YXNldCIsICJQcmVkaWN0b3IiLCAiVHJhaXQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICJCZXRhIiwgInMuZS5tLiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIk9SIiwgImxvdzk1Q0kiLCAidXA5NUNJIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAiWi12YWx1ZSIsICJQLXZhbHVlIiwgInJeMl9sIiwgInJeMl9jcyIsICJyXjJfbmFnZWxrZXJrZSIsICJBRV9OIiwgIk1vZGVsX04iLCAiUGVyY19NaXNzIikKCmNhdCgiQ29ycmVjdCB0aGUgdmFyaWFibGUgdHlwZXMuLi5cbiIpCkdMTS5yZXN1bHRzJEJldGEgPC0gYXMubnVtZXJpYyhHTE0ucmVzdWx0cyRCZXRhKQpHTE0ucmVzdWx0cyRzLmUubS4gPC0gYXMubnVtZXJpYyhHTE0ucmVzdWx0cyRzLmUubS4pCkdMTS5yZXN1bHRzJE9SIDwtIGFzLm51bWVyaWMoR0xNLnJlc3VsdHMkT1IpCkdMTS5yZXN1bHRzJGxvdzk1Q0kgPC0gYXMubnVtZXJpYyhHTE0ucmVzdWx0cyRsb3c5NUNJKQpHTE0ucmVzdWx0cyR1cDk1Q0kgPC0gYXMubnVtZXJpYyhHTE0ucmVzdWx0cyR1cDk1Q0kpCkdMTS5yZXN1bHRzJGBaLXZhbHVlYCA8LSBhcy5udW1lcmljKEdMTS5yZXN1bHRzJGBaLXZhbHVlYCkKR0xNLnJlc3VsdHMkYFAtdmFsdWVgIDwtIGFzLm51bWVyaWMoR0xNLnJlc3VsdHMkYFAtdmFsdWVgKQpHTE0ucmVzdWx0cyRgcl4yX2xgIDwtIGFzLm51bWVyaWMoR0xNLnJlc3VsdHMkYHJeMl9sYCkKR0xNLnJlc3VsdHMkYHJeMl9jc2AgPC0gYXMubnVtZXJpYyhHTE0ucmVzdWx0cyRgcl4yX2NzYCkKR0xNLnJlc3VsdHMkYHJeMl9uYWdlbGtlcmtlYCA8LSBhcy5udW1lcmljKEdMTS5yZXN1bHRzJGByXjJfbmFnZWxrZXJrZWApCkdMTS5yZXN1bHRzJGBBRV9OYCA8LSBhcy5udW1lcmljKEdMTS5yZXN1bHRzJGBBRV9OYCkKR0xNLnJlc3VsdHMkYE1vZGVsX05gIDwtIGFzLm51bWVyaWMoR0xNLnJlc3VsdHMkYE1vZGVsX05gKQpHTE0ucmVzdWx0cyRgUGVyY19NaXNzYCA8LSBhcy5udW1lcmljKEdMTS5yZXN1bHRzJGBQZXJjX01pc3NgKQoKIyBTYXZlIHRoZSBkYXRhCmNhdCgiV3JpdGluZyByZXN1bHRzIHRvIEV4Y2VsLWZpbGUuLi5cbiIpCgojIyMgVW5pdmFyaWF0ZQp3cml0ZS54bHN4KEdMTS5yZXN1bHRzLAogICAgICAgICAgIGZpbGUgPSBwYXN0ZTAoT1VUX2xvYywgIi8iLFRvZGF5LCIuQUVEQi5DRUEuQmluLlVuaS5Qcm90ZWluLlJBTksuU3ltcHRvbXMuTU9ERUwxLnhsc3giKSwKICAgICAgICAgICByb3cubmFtZXMgPSBGQUxTRSwgY29sLm5hbWVzID0gVFJVRSwgc2hlZXROYW1lID0gIkJpbi5VbmkuU3ltcHRvbXMiKQoKIyBSZW1vdmluZyBpbnRlcm1lZGlhdGVzCmNhdCgiUmVtb3ZpbmcgaW50ZXJtZWRpYXRlIGZpbGVzLi4uXG4iKQpybShUUkFJVCwgY3VycmVudERGLCBHTE0ucmVzdWx0cywgR0xNLnJlc3VsdHMuVEVNUCwgZml0LCBtb2RlbF9zdGVwKQoKYGBgCgojIyMgTW9kZWwgMgoKSW4gdGhpcyBtb2RlbCB3ZSBjb3JyZWN0IGZvciBfQWdlXywgX0dlbmRlcl8sIF9IeXBlcnRlbnNpb24gc3RhdHVzXywgX0RpYWJldGVzIHN0YXR1c18sIF9jdXJyZW50IHNtb2tlciBzdGF0dXNfLCBfbGlwaWQtbG93ZXJpbmcgZHJ1Z3MgKExMRHMpXywgX2FudGlwbGF0ZWxldCBtZWRpY2F0aW9uXywgX2VHRlIgKE1EUkQpXywgX0JNSV8sIF9NZWRIeF9DVkRfIChjb21iaW5hdGlvbiBvZiBfQ0FEIGhpc3RvcnlfLCBfc3Ryb2tlIGhpc3RvcnlfLCBhbmQgX3BlcmlwaGVyYWwgaW50ZXJ2ZW50aW9uc18pLCBhbmQgX3N0ZW5vc2lzLl8uCgo+IE5PVEUgR2l2ZW4gdGhhdCBNQ1AxIHBsYXNtYSB3YXMgb25seSBtZWFzdXJlZCBpbiBzeW1wdG9tYXRpYyBwYXRpZW50cywgd2UgZXhjbHVkZSBpdCBmcm9tIHRoaXMgYW5hbHlzaXMuCgpgYGB7ciBDcm9zc1NlYzogc3ltcHRvbXMgLSBsb2dpc3RpYyByZWdyZXNzaW9uIE1PREVMMiBSQU5LLCBpbmNsdWRlPVRSVUUsIHBhZ2VkLnByaW50PVRSVUV9CgpHTE0ucmVzdWx0cyA8LSBkYXRhLmZyYW1lKG1hdHJpeChOQSwgbmNvbCA9IDE2LCBucm93ID0gMCkpCmZvciAocHJvdGVpbiBpbiAxOmxlbmd0aChUUkFJVFMuUFJPVEVJTi5SQU5LLmxpbWl0KSkgewogIFBST1RFSU4gPSBUUkFJVFMuUFJPVEVJTi5SQU5LLmxpbWl0W3Byb3RlaW5dCiAgY2F0KHBhc3RlMCgiXG5BbmFseXNpcyBvZiAiLFBST1RFSU4sIi5cbiIpKQogIFRSQUlUID0gIkFzeW1wdFN5bXB0IgogICAgY2F0KHBhc3RlMCgiXG4tIHByb2Nlc3NpbmcgIixUUkFJVCwiXG5cbiIpKQogICAgY3VycmVudERGIDwtIGFzLmRhdGEuZnJhbWUoQUVEQi5DRUEgJT4lCiAgICAgIGRwbHlyOjpzZWxlY3QoLiwgUFJPVEVJTiwgVFJBSVQsIENPVkFSSUFURVNfTTIpICU+JQogICAgICBmaWx0ZXIoY29tcGxldGUuY2FzZXMoLikpKSAlPiUKICAgICAgZmlsdGVyX2lmKH5pcy5udW1lcmljKC4pLCBhbGxfdmFycyghaXMuaW5maW5pdGUoLikpKQogICAgIyBmb3IgZGVidWcKICAgICMgcHJpbnQoRFQ6OmRhdGF0YWJsZShjdXJyZW50REYpKQogICAgIyBwcmludChucm93KGN1cnJlbnRERikpCiAgICAjIHByaW50KHN0cihjdXJyZW50REYpKQogICAgIyBwcmludChjbGFzcyhjdXJyZW50REZbLFRSQUlUXSkpCiAgICAjIyMgdW5pdmFyaWF0ZQoKICAgIGZpdCA8LSBnbG0oYXMuZmFjdG9yKGN1cnJlbnRERlssVFJBSVRdKSB+IGN1cnJlbnRERlssUFJPVEVJTl0gKyBBZ2UgKyBHZW5kZXIgKyBPUmRhdGVfeWVhciArIAogICAgICAgICAgICAgICAgIEh5cGVydGVuc2lvbi5jb21wb3NpdGUgKyBEaWFiZXRlc1N0YXR1cyArIFNtb2tlclN0YXR1cyArIAogICAgICAgICAgICAgICAgIE1lZC5TdGF0aW4uTExEICsgTWVkLmFsbC5hbnRpcGxhdGVsZXQgKyBHRlJfTURSRCArIEJNSSArIAogICAgICAgICAgICAgICAgIE1lZEh4X0NWRCArIHN0ZW5vc2UsIAogICAgICAgICAgICAgICBkYXRhICA9ICBjdXJyZW50REYsIGZhbWlseSA9IGJpbm9taWFsKGxpbmsgPSAibG9naXQiKSkKICAgIG1vZGVsX3N0ZXAgPC0gc3RlcEFJQyhmaXQsIGRpcmVjdGlvbiA9ICJib3RoIiwgdHJhY2UgPSBGQUxTRSkKICAgIHByaW50KG1vZGVsX3N0ZXApCiAgICBwcmludChzdW1tYXJ5KGZpdCkpCiAgICAKICAgIEdMTS5yZXN1bHRzLlRFTVAgPC0gZGF0YS5mcmFtZShtYXRyaXgoTkEsIG5jb2wgPSAxNiwgbnJvdyA9IDApKQogICAgR0xNLnJlc3VsdHMuVEVNUFsxLF0gPSBHTE0uQklOKGZpdCwgIkFFREIuQ0VBIiwgUFJPVEVJTiwgVFJBSVQsIHZlcmJvc2UgPSBUUlVFKQogICAgR0xNLnJlc3VsdHMgPSByYmluZChHTE0ucmVzdWx0cywgR0xNLnJlc3VsdHMuVEVNUCkKICB9CmNhdCgiRWRpdCB0aGUgY29sdW1uIG5hbWVzLi4uXG4iKQpjb2xuYW1lcyhHTE0ucmVzdWx0cykgPSBjKCJEYXRhc2V0IiwgIlByZWRpY3RvciIsICJUcmFpdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIkJldGEiLCAicy5lLm0uIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAiT1IiLCAibG93OTVDSSIsICJ1cDk1Q0kiLAogICAgICAgICAgICAgICAgICAgICAgICAgICJaLXZhbHVlIiwgIlAtdmFsdWUiLCAicl4yX2wiLCAicl4yX2NzIiwgInJeMl9uYWdlbGtlcmtlIiwgIkFFX04iLCAiTW9kZWxfTiIsICJQZXJjX01pc3MiKQoKY2F0KCJDb3JyZWN0IHRoZSB2YXJpYWJsZSB0eXBlcy4uLlxuIikKR0xNLnJlc3VsdHMkQmV0YSA8LSBhcy5udW1lcmljKEdMTS5yZXN1bHRzJEJldGEpCkdMTS5yZXN1bHRzJHMuZS5tLiA8LSBhcy5udW1lcmljKEdMTS5yZXN1bHRzJHMuZS5tLikKR0xNLnJlc3VsdHMkT1IgPC0gYXMubnVtZXJpYyhHTE0ucmVzdWx0cyRPUikKR0xNLnJlc3VsdHMkbG93OTVDSSA8LSBhcy5udW1lcmljKEdMTS5yZXN1bHRzJGxvdzk1Q0kpCkdMTS5yZXN1bHRzJHVwOTVDSSA8LSBhcy5udW1lcmljKEdMTS5yZXN1bHRzJHVwOTVDSSkKR0xNLnJlc3VsdHMkYFotdmFsdWVgIDwtIGFzLm51bWVyaWMoR0xNLnJlc3VsdHMkYFotdmFsdWVgKQpHTE0ucmVzdWx0cyRgUC12YWx1ZWAgPC0gYXMubnVtZXJpYyhHTE0ucmVzdWx0cyRgUC12YWx1ZWApCkdMTS5yZXN1bHRzJGByXjJfbGAgPC0gYXMubnVtZXJpYyhHTE0ucmVzdWx0cyRgcl4yX2xgKQpHTE0ucmVzdWx0cyRgcl4yX2NzYCA8LSBhcy5udW1lcmljKEdMTS5yZXN1bHRzJGByXjJfY3NgKQpHTE0ucmVzdWx0cyRgcl4yX25hZ2Vsa2Vya2VgIDwtIGFzLm51bWVyaWMoR0xNLnJlc3VsdHMkYHJeMl9uYWdlbGtlcmtlYCkKR0xNLnJlc3VsdHMkYEFFX05gIDwtIGFzLm51bWVyaWMoR0xNLnJlc3VsdHMkYEFFX05gKQpHTE0ucmVzdWx0cyRgTW9kZWxfTmAgPC0gYXMubnVtZXJpYyhHTE0ucmVzdWx0cyRgTW9kZWxfTmApCkdMTS5yZXN1bHRzJGBQZXJjX01pc3NgIDwtIGFzLm51bWVyaWMoR0xNLnJlc3VsdHMkYFBlcmNfTWlzc2ApCgojIFNhdmUgdGhlIGRhdGEKY2F0KCJXcml0aW5nIHJlc3VsdHMgdG8gRXhjZWwtZmlsZS4uLlxuIikKCiMjIyBVbml2YXJpYXRlCndyaXRlLnhsc3goR0xNLnJlc3VsdHMsCiAgICAgICAgICAgZmlsZSA9IHBhc3RlMChPVVRfbG9jLCAiLyIsVG9kYXksIi5BRURCLkNFQS5CaW4uTXVsdGkuUHJvdGVpbi5SQU5LLlN5bXB0b21zLk1PREVMMi54bHN4IiksCiAgICAgICAgICAgcm93Lm5hbWVzID0gRkFMU0UsIGNvbC5uYW1lcyA9IFRSVUUsIHNoZWV0TmFtZSA9ICJCaW4uTXVsdGkuU3ltcHRvbXMiKQoKIyBSZW1vdmluZyBpbnRlcm1lZGlhdGVzCmNhdCgiUmVtb3ZpbmcgaW50ZXJtZWRpYXRlIGZpbGVzLi4uXG4iKQpybShUUkFJVCwgY3VycmVudERGLCBHTE0ucmVzdWx0cywgR0xNLnJlc3VsdHMuVEVNUCwgZml0LCBtb2RlbF9zdGVwKQoKYGBgCgoKIyMgQy4gTG9uZ2l0dWRpbmFsIGFuYWx5c2lzIHNlY29uZGFyeSBjbGluaWNhbCBvdXRjb21lCgpGb3IgdGhlIGxvbmdpdHVkaW5hbCBhbmFseXNlcyBvZiBwbGFxdWUgYW5kIHBsYXNtYSBNQ1AxLCBJTDYsIGFuZCBJTDZSIGxldmVscyBhbmQgc2Vjb25kYXJ5IGNhcmRpb3Zhc2N1bGFyIGV2ZW50cyBvdmVyIGEgdGhyZWUteWVhciBmb2xsb3ctdXAgcGVyaW9kLiAKClRoZSBfcHJpbWFyeSBvdXRjb21lXyBpcyBkZWZpbmVkIGFzICJhIGNvbXBvc2l0ZSBvZiBmYXRhbCBvciBub24tZmF0YWwgbXlvY2FyZGlhbCBpbmZhcmN0aW9uLCBmYXRhbCBvciBub24tZmF0YWwgc3Ryb2tlLCBydXB0dXJlZCBhb3J0aWMgYW5ldXJ5c20sIGZhdGFsIGNhcmRpYWMgZmFpbHVyZSwgY29yb25hcnkgb3IgcGVyaXBoZXJhbCBpbnRlcnZlbnRpb25zLCBsZWcgYW1wdXRhdGlvbiBkdWUgdG8gdmFzY3VsYXIgY2F1c2VzLCBhbmQgY2FyZGlvdmFzY3VsYXIgZGVhdGgiLCBpLmUuIG1ham9yIGFkdmVyc2UgY2FyZGlvdmFzY3VsYXIgZXZlbnRzIChNQUNFKS4gVmFyaWFibGU6IGBlcG1ham9yLjN5ZWFyc2AsIHRoZXNlIGluY2x1ZGU6Ci0gbXlvY2FyZGlhbCBpbmZhcmN0aW9uIChNSSkKLSBjZXJlYnJhbCBpbmZhcmN0aW9uIChDVkEvc3Ryb2tlKQotIGNhcmRpb3Zhc2N1bGFyIGRlYXRoIChleGFjdCBjYXVzZSB0byBiZSBpbnZlc3RpZ2F0ZWQpCi0gY2VyZWJyYWwgYmxlZWRpbmcgKENWQS9zdHJva2UpCi0gZmF0YWwgbXlvY2FyZGlhbCBpbmZhcmN0aW9uIChNSSkKLSBmYXRhbCBjZXJlYnJhbCBpbmZhcmN0aW9uCi0gZmF0YWwgY2VyZWJyYWwgYmxlZWRpbmcKLSBzdWRkZW4gZGVhdGgKLSBmYXRhbCBoZWFydCBmYWlsdXJlCi0gZmF0YWwgYW5ldXJ5c20gcnVwdHVyZQotIG90aGVyIGNhcmRpb3Zhc2N1bGFyIGRlYXRoLi4KClRoZSBfc2Vjb25kYXJ5IG91dGNvbWVzXyB3aWxsIGJlIAoKLSBpbmNpZGVuY2Ugb2YgZmF0YWwgb3Igbm9uLWZhdGFsIHN0cm9rZSAoaXNjaGVtaWMgYW5kIGJsZWVkaW5nKSAtIHZhcmlhYmxlOiBgZXBzdHJva2UuM3llYXJzYCwgdGhlc2UgaW5jbHVkZToKICAtIGNlcmVicmFsIGluZmFyY3Rpb24gKENWQS9zdHJva2UpCiAgLSBjZXJlYnJhbCBibGVlZGluZyAoQ1ZBL3N0cm9rZSkKICAtIGZhdGFsIGNlcmVicmFsIGluZmFyY3Rpb24KICAtIGZhdGFsIGNlcmVicmFsIGJsZWVkaW5nLgotIGluY2lkZW5jZSBvZiBhY3V0ZSBjb3JvbmFyeSBldmVudHMgKGZhdGFsIG9yIG5vbi1mYXRhbCBteW9jYXJkaWFsIGluZmFyY3Rpb24sIGNvcm9uYXJ5IGludGVydmVudGlvbnMpIC0gdmFyaWFibGU6IGBlcGNvcm9uYXJ5LjN5ZWFyc2AsIHRoZXNlIGluY2x1ZGU6CiAgLSBteW9jYXJkaWFsIGluZmFyY3Rpb24gKE1JKQogIC0gY29yb25hcnkgYW5naW9wbGFzdHkgKFBDSS9QVENBKQogIC0gY2FyZGlvdmFzY3VsYXIgZGVhdGggKGV4YWN0IGNhdXNlIHRvIGJlIGludmVzdGlnYXRlZCkKICAtIGNvcm9uYXJ5IGJ5cGFzcyAoQ0FCRykKICAtIGZhdGFsIG15b2NhcmRpYWwgaW5mYXJjdGlvbiAoTUkpCiAgLSBzdWRkZW4gZGVhdGguCi0gY2FyZGlvdmFzY3VsYXIgZGVhdGggLSB2YXJpYWJsZTogYGVwY3ZkZWF0aC4zeWVhcnNgLCB0aGVzZSBpbmNsdWRlOgogIC0gY2FyZGlvdmFzY3VsYXIgZGVhdGggKGV4YWN0IGNhdXNlIHRvIGJlIGludmVzdGlnYXRlZCkKICAtIGZhdGFsIG15b2NhcmRpYWwgaW5mYXJjdGlvbiAoTUkpCiAgLSBmYXRhbCBjZXJlYnJhbCBpbmZhcmN0aW9uCiAgLSBmYXRhbCBjZXJlYnJhbCBibGVlZGluZwogIC0gc3VkZGVuIGRlYXRoCiAgLSBmYXRhbCBoZWFydCBmYWlsdXJlCiAgLSBmYXRhbCBhbmV1cnlzbSBydXB0dXJlCiAgLSBvdGhlciBjYXJkaW92YXNjdWxhciBkZWF0aC4uCgojIyMgMzAtIGFuZCA5MC1kYXlzIEZVIGV2ZW50cwoKV2Ugd2lsbCB1c2UgMy15ZWFyIGZvbGxvdy11cCwgYnV0IHdlIHdpbGwgYWxzbyBjYWxjdWxhdGUgMzAgZGF5cyBhbmQgOTAgZGF5cyBmb2xsb3ctdXAgJ3RpbWUtdG8tZXZlbnQnIHZhcmlhYmxlcy4gT24gYXZlcmFnZSB0aGVyZSBhcmUgMzY1LjI1IGRheXMgaW4gYSB5ZWFyLiBXZSBjYW4gY2FsY3VsYXRlIDMwLWRheXMgYW5kIDkwLWRheXMgZm9sbG93LXVwIHRpbWUgYmFzZWQgb24gdGhlIHRocmVlIHllYXJzIGZvbGxvdy11cC4gCgpgYGB7ciBDYWxjdWxhdGUgbmV3IEZVIGN1dC1vZmZzOiBtYXhpbXVtIEZVfQpjdXR0Lm9mZi4zMGRheXMgPSAoMS8zNjUuMjUpICogMzAKY3V0dC5vZmYuOTBkYXlzID0gKDEvMzY1LjI1KSAqIDkwCgojIEZpeCBtYXhpbXVtIEZVIG9mIDMwIGFuZCA5MCBkYXlzCkFFREIgPC0gQUVEQiAlPiUKICBtdXRhdGUoCiAgICBGVS5jdXR0Lm9mZi4zMGRheXMgPSBpZmVsc2UobWF4LmZvbGxvd3VwIDw9IGN1dHQub2ZmLjMwZGF5cywgbWF4LmZvbGxvd3VwLCBjdXR0Lm9mZi4zMGRheXMpLAogICAgRlUuY3V0dC5vZmYuOTBkYXlzID0gaWZlbHNlKG1heC5mb2xsb3d1cCA8PSBjdXR0Lm9mZi45MGRheXMsIG1heC5mb2xsb3d1cCwgY3V0dC5vZmYuOTBkYXlzKQogICkgCgpBRURCLnRlbXAgPC0gc3Vic2V0KEFFREIsICBzZWxlY3QgPSBjKCJTVFVEWV9OVU1CRVIiLCAiVVBJRCIsICJBZ2UiLCAiR2VuZGVyIiwgIkhvc3BpdGFsIiwgIkFydGVyeV9zdW1tYXJ5IiwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm1heC5mb2xsb3d1cCIsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJGVS5jdXR0Lm9mZi4zeWVhcnMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJGVS5jdXR0Lm9mZi4zMGRheXMiLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiRlUuY3V0dC5vZmYuOTBkYXlzIikpCnJlcXVpcmUobGFiZWxsZWQpCkFFREIudGVtcCRHZW5kZXIgPC0gdG9fZmFjdG9yKEFFREIudGVtcCRHZW5kZXIpCkFFREIudGVtcCRIb3NwaXRhbCA8LSB0b19mYWN0b3IoQUVEQi50ZW1wJEhvc3BpdGFsKQpBRURCLnRlbXAkQXJ0ZXJ5X3N1bW1hcnkgPC0gdG9fZmFjdG9yKEFFREIudGVtcCRBcnRlcnlfc3VtbWFyeSkKCkRUOjpkYXRhdGFibGUoQUVEQi50ZW1wWzE6MTAsXSwgY2FwdGlvbiA9ICJFeGNlcnB0IG9mIHRoZSB3aG9sZSBBRURCLiIsIHJvd25hbWVzID0gRkFMU0UpCgpybShBRURCLnRlbXApCgpBRURCLkNFQSA8LSBBRURCLkNFQSAlPiUKICBtdXRhdGUoCiAgICBGVS5jdXR0Lm9mZi4zMGRheXMgPSBpZmVsc2UobWF4LmZvbGxvd3VwIDw9IGN1dHQub2ZmLjMwZGF5cywgbWF4LmZvbGxvd3VwLCBjdXR0Lm9mZi4zMGRheXMpLAogICAgRlUuY3V0dC5vZmYuOTBkYXlzID0gaWZlbHNlKG1heC5mb2xsb3d1cCA8PSBjdXR0Lm9mZi45MGRheXMsIG1heC5mb2xsb3d1cCwgY3V0dC5vZmYuOTBkYXlzKQogICkgCgpBRURCLkNFQS50ZW1wIDwtIHN1YnNldChBRURCLkNFQSwgIHNlbGVjdCA9IGMoIlNUVURZX05VTUJFUiIsICJVUElEIiwgIkFnZSIsICJHZW5kZXIiLCAiSG9zcGl0YWwiLCAiQXJ0ZXJ5X3N1bW1hcnkiLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibWF4LmZvbGxvd3VwIiwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkZVLmN1dHQub2ZmLjN5ZWFycyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkZVLmN1dHQub2ZmLjMwZGF5cyIsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJGVS5jdXR0Lm9mZi45MGRheXMiKSkKcmVxdWlyZShsYWJlbGxlZCkKQUVEQi5DRUEudGVtcCRHZW5kZXIgPC0gdG9fZmFjdG9yKEFFREIuQ0VBLnRlbXAkR2VuZGVyKQpBRURCLkNFQS50ZW1wJEhvc3BpdGFsIDwtIHRvX2ZhY3RvcihBRURCLkNFQS50ZW1wJEhvc3BpdGFsKQpBRURCLkNFQS50ZW1wJEFydGVyeV9zdW1tYXJ5IDwtIHRvX2ZhY3RvcihBRURCLkNFQS50ZW1wJEFydGVyeV9zdW1tYXJ5KQoKRFQ6OmRhdGF0YWJsZShBRURCLkNFQS50ZW1wWzE6MTAsXSwgY2FwdGlvbiA9ICJFeGNlcnB0IG9mIHRoZSB3aG9sZSBBRURCLkNFQS4iLCByb3duYW1lcyA9IEZBTFNFKQoKcm0oQUVEQi5DRUEudGVtcCkKCgpgYGAKCkhlcmUgd2Ugd2lsbCBjYWxjdWxhdGUgdGhlIG5ldyAzMC0gYW5kIDkwLWRheXMgZm9sbG93LXVwIG9mIHRoZSBldmVudHMgYW5kIHRoZWlyIGV2ZW50LXRpbWVzIG9mIGludGVyZXN0OgoKLSBNQUNFIChgZXBtYWpvci4zeWVhcnNgKQotIFN0cm9rZSAoYGVwc3Ryb2tlLjN5ZWFyc2ApCi0gQ29yb25hcnkgZXZlbnRzIChgZXBjb3JvbmFyeS4zeWVhcnNgKQotIENhcmRpb3Zhc2N1bGFyIGRlYXRoIChgZXBjdmRlYXRoLjN5ZWFyc2ApCgoKYGBge3IgQ2FsY3VsYXRlIG5ldyBGVSBjdXQtb2ZmczogdGltZXN9CmF2Z19kYXlzX2luX3llYXIgPSAzNjUuMjUKY3V0dC5vZmYuMzBkYXlzLnNjYWxlZCA8LSBjdXR0Lm9mZi4zMGRheXMgKiAzNjUuMjUKY3V0dC5vZmYuOTBkYXlzLnNjYWxlZCA8LSBjdXR0Lm9mZi45MGRheXMgKiAzNjUuMjUKIyBFdmVudCB0aW1lcwpBRURCIDwtIEFFREIgJT4lCiAgbXV0YXRlKAogICAgZXBfbWFqb3JfdF8zMGRheXMgPSBpZmVsc2UoZXBfbWFqb3JfdF8zeWVhcnMgKiBhdmdfZGF5c19pbl95ZWFyIDw9IGN1dHQub2ZmLjMwZGF5cy5zY2FsZWQsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXBfbWFqb3JfdF8zeWVhcnMgKiBhdmdfZGF5c19pbl95ZWFyLCBjdXR0Lm9mZi4zMGRheXMuc2NhbGVkKSwKICAgIGVwX3N0cm9rZV90XzMwZGF5cyA9IGlmZWxzZShlcF9zdHJva2VfdF8zeWVhcnMgKiBhdmdfZGF5c19pbl95ZWFyIDw9IGN1dHQub2ZmLjMwZGF5cy5zY2FsZWQsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVwX3N0cm9rZV90XzN5ZWFycyAqIGF2Z19kYXlzX2luX3llYXIsIGN1dHQub2ZmLjMwZGF5cy5zY2FsZWQpLAogICAgZXBfY29yb25hcnlfdF8zMGRheXMgPSBpZmVsc2UoZXBfY29yb25hcnlfdF8zeWVhcnMgKiBhdmdfZGF5c19pbl95ZWFyIDw9IGN1dHQub2ZmLjMwZGF5cy5zY2FsZWQsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXBfY29yb25hcnlfdF8zeWVhcnMgKiBhdmdfZGF5c19pbl95ZWFyLCBjdXR0Lm9mZi4zMGRheXMuc2NhbGVkKSwKICAgIGVwX2N2ZGVhdGhfdF8zMGRheXMgPSBpZmVsc2UoZXBfY3ZkZWF0aF90XzN5ZWFycyAqIGF2Z19kYXlzX2luX3llYXIgPD0gY3V0dC5vZmYuMzBkYXlzLnNjYWxlZCwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVwX2N2ZGVhdGhfdF8zeWVhcnMgKiBhdmdfZGF5c19pbl95ZWFyLCBjdXR0Lm9mZi4zMGRheXMuc2NhbGVkKSwKICAgIGVwX21ham9yX3RfOTBkYXlzID0gaWZlbHNlKGVwX21ham9yX3RfM3llYXJzICogYXZnX2RheXNfaW5feWVhciA8PSBjdXR0Lm9mZi45MGRheXMuc2NhbGVkLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVwX21ham9yX3RfM3llYXJzICogYXZnX2RheXNfaW5feWVhciwgY3V0dC5vZmYuOTBkYXlzLnNjYWxlZCksCiAgICBlcF9zdHJva2VfdF85MGRheXMgPSBpZmVsc2UoZXBfc3Ryb2tlX3RfM3llYXJzICogYXZnX2RheXNfaW5feWVhciA8PSBjdXR0Lm9mZi45MGRheXMuc2NhbGVkLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcF9zdHJva2VfdF8zeWVhcnMgKiBhdmdfZGF5c19pbl95ZWFyLCBjdXR0Lm9mZi45MGRheXMuc2NhbGVkKSwKICAgIGVwX2Nvcm9uYXJ5X3RfOTBkYXlzID0gaWZlbHNlKGVwX2Nvcm9uYXJ5X3RfM3llYXJzICogYXZnX2RheXNfaW5feWVhciA8PSBjdXR0Lm9mZi45MGRheXMuc2NhbGVkLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVwX2Nvcm9uYXJ5X3RfM3llYXJzICogYXZnX2RheXNfaW5feWVhciwgY3V0dC5vZmYuOTBkYXlzLnNjYWxlZCksCiAgICBlcF9jdmRlYXRoX3RfOTBkYXlzID0gaWZlbHNlKGVwX2N2ZGVhdGhfdF8zeWVhcnMgKiBhdmdfZGF5c19pbl95ZWFyIDw9IGN1dHQub2ZmLjkwZGF5cy5zY2FsZWQsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcF9jdmRlYXRoX3RfM3llYXJzICogYXZnX2RheXNfaW5feWVhciwgY3V0dC5vZmYuOTBkYXlzLnNjYWxlZCkKICApIAoKQUVEQi5DRUEgPC0gQUVEQi5DRUEgJT4lCiAgbXV0YXRlKAogICAgZXBfbWFqb3JfdF8zMGRheXMgPSBpZmVsc2UoZXBfbWFqb3JfdF8zeWVhcnMgKiBhdmdfZGF5c19pbl95ZWFyIDw9IGN1dHQub2ZmLjMwZGF5cy5zY2FsZWQsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXBfbWFqb3JfdF8zeWVhcnMgKiBhdmdfZGF5c19pbl95ZWFyLCBjdXR0Lm9mZi4zMGRheXMuc2NhbGVkKSwKICAgIGVwX3N0cm9rZV90XzMwZGF5cyA9IGlmZWxzZShlcF9zdHJva2VfdF8zeWVhcnMgKiBhdmdfZGF5c19pbl95ZWFyIDw9IGN1dHQub2ZmLjMwZGF5cy5zY2FsZWQsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVwX3N0cm9rZV90XzN5ZWFycyAqIGF2Z19kYXlzX2luX3llYXIsIGN1dHQub2ZmLjMwZGF5cy5zY2FsZWQpLAogICAgZXBfY29yb25hcnlfdF8zMGRheXMgPSBpZmVsc2UoZXBfY29yb25hcnlfdF8zeWVhcnMgKiBhdmdfZGF5c19pbl95ZWFyIDw9IGN1dHQub2ZmLjMwZGF5cy5zY2FsZWQsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXBfY29yb25hcnlfdF8zeWVhcnMgKiBhdmdfZGF5c19pbl95ZWFyLCBjdXR0Lm9mZi4zMGRheXMuc2NhbGVkKSwKICAgIGVwX2N2ZGVhdGhfdF8zMGRheXMgPSBpZmVsc2UoZXBfY3ZkZWF0aF90XzN5ZWFycyAqIGF2Z19kYXlzX2luX3llYXIgPD0gY3V0dC5vZmYuMzBkYXlzLnNjYWxlZCwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVwX2N2ZGVhdGhfdF8zeWVhcnMgKiBhdmdfZGF5c19pbl95ZWFyLCBjdXR0Lm9mZi4zMGRheXMuc2NhbGVkKSwKICAgIGVwX21ham9yX3RfOTBkYXlzID0gaWZlbHNlKGVwX21ham9yX3RfM3llYXJzICogYXZnX2RheXNfaW5feWVhciA8PSBjdXR0Lm9mZi45MGRheXMuc2NhbGVkLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVwX21ham9yX3RfM3llYXJzICogYXZnX2RheXNfaW5feWVhciwgY3V0dC5vZmYuOTBkYXlzLnNjYWxlZCksCiAgICBlcF9zdHJva2VfdF85MGRheXMgPSBpZmVsc2UoZXBfc3Ryb2tlX3RfM3llYXJzICogYXZnX2RheXNfaW5feWVhciA8PSBjdXR0Lm9mZi45MGRheXMuc2NhbGVkLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcF9zdHJva2VfdF8zeWVhcnMgKiBhdmdfZGF5c19pbl95ZWFyLCBjdXR0Lm9mZi45MGRheXMuc2NhbGVkKSwKICAgIGVwX2Nvcm9uYXJ5X3RfOTBkYXlzID0gaWZlbHNlKGVwX2Nvcm9uYXJ5X3RfM3llYXJzICogYXZnX2RheXNfaW5feWVhciA8PSBjdXR0Lm9mZi45MGRheXMuc2NhbGVkLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVwX2Nvcm9uYXJ5X3RfM3llYXJzICogYXZnX2RheXNfaW5feWVhciwgY3V0dC5vZmYuOTBkYXlzLnNjYWxlZCksCiAgICBlcF9jdmRlYXRoX3RfOTBkYXlzID0gaWZlbHNlKGVwX2N2ZGVhdGhfdF8zeWVhcnMgKiBhdmdfZGF5c19pbl95ZWFyIDw9IGN1dHQub2ZmLjkwZGF5cy5zY2FsZWQsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcF9jdmRlYXRoX3RfM3llYXJzICogYXZnX2RheXNfaW5feWVhciwgY3V0dC5vZmYuOTBkYXlzLnNjYWxlZCkKICApIAoKYGBgCgoKYGBge3IgQ294LXJlZ3Jlc3Npb25zOiBuZXcgdGltZXN9CgphdHRhY2goQUVEQikKQUVEQlssImVwbWFqb3IuMzBkYXlzIl0gPC0gQUVEQiRlcG1ham9yLjN5ZWFycwpBRURCJGVwbWFqb3IuMzBkYXlzW2VwbWFqb3IuM3llYXJzID09IDEgJiBlcF9tYWpvcl90XzN5ZWFycyA+IGN1dHQub2ZmLjMwZGF5c10gPC0gMAoKQUVEQlssImVwc3Ryb2tlLjMwZGF5cyJdIDwtIEFFREIkZXBzdHJva2UuM3llYXJzCkFFREIkZXBzdHJva2UuMzBkYXlzW2Vwc3Ryb2tlLjN5ZWFycyA9PSAxICYgZXBfc3Ryb2tlX3RfM3llYXJzID4gY3V0dC5vZmYuMzBkYXlzXSA8LSAwCgpBRURCWywiZXBjb3JvbmFyeS4zMGRheXMiXSA8LSBBRURCJGVwY29yb25hcnkuM3llYXJzCkFFREIkZXBjb3JvbmFyeS4zMGRheXNbZXBjb3JvbmFyeS4zeWVhcnMgPT0gMSAmIGVwX2Nvcm9uYXJ5X3RfM3llYXJzID4gY3V0dC5vZmYuMzBkYXlzXSA8LSAwCgpBRURCWywiZXBjdmRlYXRoLjMwZGF5cyJdIDwtIEFFREIkZXBjdmRlYXRoLjN5ZWFycwpBRURCJGVwY3ZkZWF0aC4zMGRheXNbZXBjdmRlYXRoLjN5ZWFycyA9PSAxICYgZXBfY3ZkZWF0aF90XzN5ZWFycyA+IGN1dHQub2ZmLjMwZGF5c10gPC0gMAoKQUVEQlssImVwbWFqb3IuOTBkYXlzIl0gPC0gQUVEQiRlcG1ham9yLjN5ZWFycwpBRURCJGVwbWFqb3IuOTBkYXlzW2VwbWFqb3IuM3llYXJzID09IDEgJiBlcF9tYWpvcl90XzN5ZWFycyA+IGN1dHQub2ZmLjkwZGF5c10gPC0gMAoKQUVEQlssImVwc3Ryb2tlLjkwZGF5cyJdIDwtIEFFREIkZXBzdHJva2UuM3llYXJzCkFFREIkZXBzdHJva2UuOTBkYXlzW2Vwc3Ryb2tlLjN5ZWFycyA9PSAxICYgZXBfc3Ryb2tlX3RfM3llYXJzID4gY3V0dC5vZmYuOTBkYXlzXSA8LSAwCgpBRURCWywiZXBjb3JvbmFyeS45MGRheXMiXSA8LSBBRURCJGVwY29yb25hcnkuM3llYXJzCkFFREIkZXBjb3JvbmFyeS45MGRheXNbZXBjb3JvbmFyeS4zeWVhcnMgPT0gMSAmIGVwX2Nvcm9uYXJ5X3RfM3llYXJzID4gY3V0dC5vZmYuOTBkYXlzXSA8LSAwCgpBRURCWywiZXBjdmRlYXRoLjkwZGF5cyJdIDwtIEFFREIkZXBjdmRlYXRoLjN5ZWFycwpBRURCJGVwY3ZkZWF0aC45MGRheXNbZXBjdmRlYXRoLjN5ZWFycyA9PSAxICYgZXBfY3ZkZWF0aF90XzN5ZWFycyA+IGN1dHQub2ZmLjkwZGF5c10gPC0gMAoKZGV0YWNoKEFFREIpCgpBRURCLnRlbXAgPC0gc3Vic2V0KEFFREIsICBzZWxlY3QgPSBjKCJTVFVEWV9OVU1CRVIiLCAiVVBJRCIsICJBZ2UiLCAiR2VuZGVyIiwgIkhvc3BpdGFsIiwgIkFydGVyeV9zdW1tYXJ5IiwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImVwbWFqb3IuM3llYXJzIiwgImVwc3Ryb2tlLjN5ZWFycyIsICJlcGNvcm9uYXJ5LjN5ZWFycyIsICJlcGN2ZGVhdGguM3llYXJzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXBtYWpvci4zMGRheXMiLCAiZXBzdHJva2UuMzBkYXlzIiwgImVwY29yb25hcnkuMzBkYXlzIiwgImVwY3ZkZWF0aC4zMGRheXMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJlcG1ham9yLjkwZGF5cyIsICJlcHN0cm9rZS45MGRheXMiLCAiZXBjb3JvbmFyeS45MGRheXMiLCAiZXBjdmRlYXRoLjkwZGF5cyIpKQpyZXF1aXJlKGxhYmVsbGVkKQpBRURCLnRlbXAkR2VuZGVyIDwtIHRvX2ZhY3RvcihBRURCLnRlbXAkR2VuZGVyKQpBRURCLnRlbXAkSG9zcGl0YWwgPC0gdG9fZmFjdG9yKEFFREIudGVtcCRIb3NwaXRhbCkKQUVEQi50ZW1wJEFydGVyeV9zdW1tYXJ5IDwtIHRvX2ZhY3RvcihBRURCLnRlbXAkQXJ0ZXJ5X3N1bW1hcnkpCgpEVDo6ZGF0YXRhYmxlKEFFREIudGVtcFsxOjEwLF0sIGNhcHRpb24gPSAiRXhjZXJwdCBvZiB0aGUgd2hvbGUgQUVEQi4iLCByb3duYW1lcyA9IEZBTFNFKQoKcm0oQUVEQi50ZW1wKQoKYXR0YWNoKEFFREIuQ0VBKQpBRURCLkNFQVssImVwbWFqb3IuMzBkYXlzIl0gPC0gQUVEQi5DRUEkZXBtYWpvci4zeWVhcnMKQUVEQi5DRUEkZXBtYWpvci4zMGRheXNbZXBtYWpvci4zeWVhcnMgPT0gMSAmIGVwX21ham9yX3RfM3llYXJzID4gY3V0dC5vZmYuMzBkYXlzXSA8LSAwCgpBRURCLkNFQVssImVwc3Ryb2tlLjMwZGF5cyJdIDwtIEFFREIuQ0VBJGVwc3Ryb2tlLjN5ZWFycwpBRURCLkNFQSRlcHN0cm9rZS4zMGRheXNbZXBzdHJva2UuM3llYXJzID09IDEgJiBlcF9zdHJva2VfdF8zeWVhcnMgPiBjdXR0Lm9mZi4zMGRheXNdIDwtIDAKCkFFREIuQ0VBWywiZXBjb3JvbmFyeS4zMGRheXMiXSA8LSBBRURCLkNFQSRlcGNvcm9uYXJ5LjN5ZWFycwpBRURCLkNFQSRlcGNvcm9uYXJ5LjMwZGF5c1tlcGNvcm9uYXJ5LjN5ZWFycyA9PSAxICYgZXBfY29yb25hcnlfdF8zeWVhcnMgPiBjdXR0Lm9mZi4zMGRheXNdIDwtIDAKCkFFREIuQ0VBWywiZXBjdmRlYXRoLjMwZGF5cyJdIDwtIEFFREIuQ0VBJGVwY3ZkZWF0aC4zeWVhcnMKQUVEQi5DRUEkZXBjdmRlYXRoLjMwZGF5c1tlcGN2ZGVhdGguM3llYXJzID09IDEgJiBlcF9jdmRlYXRoX3RfM3llYXJzID4gY3V0dC5vZmYuMzBkYXlzXSA8LSAwCgpBRURCLkNFQVssImVwbWFqb3IuOTBkYXlzIl0gPC0gQUVEQi5DRUEkZXBtYWpvci4zeWVhcnMKQUVEQi5DRUEkZXBtYWpvci45MGRheXNbZXBtYWpvci4zeWVhcnMgPT0gMSAmIGVwX21ham9yX3RfM3llYXJzID4gY3V0dC5vZmYuOTBkYXlzXSA8LSAwCgpBRURCLkNFQVssImVwc3Ryb2tlLjkwZGF5cyJdIDwtIEFFREIuQ0VBJGVwc3Ryb2tlLjN5ZWFycwpBRURCLkNFQSRlcHN0cm9rZS45MGRheXNbZXBzdHJva2UuM3llYXJzID09IDEgJiBlcF9zdHJva2VfdF8zeWVhcnMgPiBjdXR0Lm9mZi45MGRheXNdIDwtIDAKCkFFREIuQ0VBWywiZXBjb3JvbmFyeS45MGRheXMiXSA8LSBBRURCLkNFQSRlcGNvcm9uYXJ5LjN5ZWFycwpBRURCLkNFQSRlcGNvcm9uYXJ5LjkwZGF5c1tlcGNvcm9uYXJ5LjN5ZWFycyA9PSAxICYgZXBfY29yb25hcnlfdF8zeWVhcnMgPiBjdXR0Lm9mZi45MGRheXNdIDwtIDAKCkFFREIuQ0VBWywiZXBjdmRlYXRoLjkwZGF5cyJdIDwtIEFFREIuQ0VBJGVwY3ZkZWF0aC4zeWVhcnMKQUVEQi5DRUEkZXBjdmRlYXRoLjkwZGF5c1tlcGN2ZGVhdGguM3llYXJzID09IDEgJiBlcF9jdmRlYXRoX3RfM3llYXJzID4gY3V0dC5vZmYuOTBkYXlzXSA8LSAwCgpkZXRhY2goQUVEQi5DRUEpCgpBRURCLkNFQS50ZW1wIDwtIHN1YnNldChBRURCLkNFQSwgIHNlbGVjdCA9IGMoIlNUVURZX05VTUJFUiIsICJVUElEIiwgIkFnZSIsICJHZW5kZXIiLCAiSG9zcGl0YWwiLCAiQXJ0ZXJ5X3N1bW1hcnkiLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXBtYWpvci4zeWVhcnMiLCAiZXBzdHJva2UuM3llYXJzIiwgImVwY29yb25hcnkuM3llYXJzIiwgImVwY3ZkZWF0aC4zeWVhcnMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJlcG1ham9yLjMwZGF5cyIsICJlcHN0cm9rZS4zMGRheXMiLCAiZXBjb3JvbmFyeS4zMGRheXMiLCAiZXBjdmRlYXRoLjMwZGF5cyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImVwbWFqb3IuOTBkYXlzIiwgImVwc3Ryb2tlLjkwZGF5cyIsICJlcGNvcm9uYXJ5LjkwZGF5cyIsICJlcGN2ZGVhdGguOTBkYXlzIikpCnJlcXVpcmUobGFiZWxsZWQpCkFFREIuQ0VBLnRlbXAkR2VuZGVyIDwtIHRvX2ZhY3RvcihBRURCLkNFQS50ZW1wJEdlbmRlcikKQUVEQi5DRUEudGVtcCRIb3NwaXRhbCA8LSB0b19mYWN0b3IoQUVEQi5DRUEudGVtcCRIb3NwaXRhbCkKQUVEQi5DRUEudGVtcCRBcnRlcnlfc3VtbWFyeSA8LSB0b19mYWN0b3IoQUVEQi5DRUEudGVtcCRBcnRlcnlfc3VtbWFyeSkKCkRUOjpkYXRhdGFibGUoQUVEQi5DRUEudGVtcFsxOjEwLF0sIGNhcHRpb24gPSAiRXhjZXJwdCBvZiB0aGUgd2hvbGUgQUVEQi5DRUEuIiwgcm93bmFtZXMgPSBGQUxTRSkKCnJtKEFFREIuQ0VBLnRlbXApCgoKCmBgYAoKIyMjIFNhbml0eSBjaGVja3MKCkZpcnN0IHdlIGRvIHNvbWUgc2FuaXR5IGNoZWNrcyBhbmQgaW52ZW50b3J5IHRoZSB0aW1lLXRvLWV2ZW50IGFuZCBldmVudCB2YXJpYWJsZXMuCmBgYHtyIENveC1yZWdyZXNzaW9uczogR2VuZXJhbH0KIyBSZWZlcmVuY2U6IGh0dHBzOi8vYmlvY29uZHVjdG9yLm9yZy9wYWNrYWdlcy9kZXZlbC9iaW9jL3ZpZ25ldHRlcy9NdWx0aUFzc2F5RXhwZXJpbWVudC9pbnN0L2RvYy9RdWlja1N0YXJ0TXVsdGlBc3NheS5odG1sCiMgSWYgeW91IHdhbnQgdG8gc3VwcHJlc3Mgd2FybmluZ3MgYW5kIG1lc3NhZ2VzIHdoZW4gaW5zdGFsbGluZy9sb2FkaW5nIHBhY2thZ2VzCiMgc3VwcHJlc3NQYWNrYWdlU3RhcnR1cE1lc3NhZ2VzKHt9KQppbnN0YWxsLnBhY2thZ2VzLmF1dG8oInN1cnZpdmFsIikKaW5zdGFsbC5wYWNrYWdlcy5hdXRvKCJzdXJ2bWluZXIiKQppbnN0YWxsLnBhY2thZ2VzLmF1dG8oIkhtaXNjIikKCmNhdCgiKiBDcmVhdGluZyBmdW5jdGlvbiB0byBzdW1tYXJpemUgQ294IHJlZ3Jlc3Npb24gYW5kIHByZXBhcmUgY29udGFpbmVyIGZvciByZXN1bHRzLiIpCiMgRnVuY3Rpb24gdG8gZ2V0IHN1bW1hcnkgc3RhdGlzdGljcyBmcm9tIENveCByZWdyZXNzaW9uIG1vZGVsCkNPWC5TVEFUIDwtIGZ1bmN0aW9uKGNveGZpdCwgREFUQVNFVCwgT1VUQ09NRSwgcHJvdGVpbil7CiAgY2F0KCJTdW1tYXJpemluZyBDb3ggcmVncmVzc2lvbiByZXN1bHRzIGZvciAnIiwgcHJvdGVpbiAsIicgYW5kIGl0cyBhc3NvY2lhdGlvbiB0byAnIixPVVRDT01FLCInIGluICciLERBVEFTRVQsIicuXG4iKQogIGlmIChucm93KHN1bW1hcnkoY294Zml0KSRjb2VmZmljaWVudHMpID09IDEpIHsKICAgIG91dHB1dCA9IGMocHJvdGVpbiwgcmVwKE5BLDgpKQogICAgY2F0KCJNb2RlbCBub3QgZml0dGVkOyBwcm9iYWJseSBzaW5ndWxhci5cbiIpCiAgfWVsc2UgewogICAgY2F0KCJDb2xsZWN0aW5nIGRhdGEuXG5cbiIpCiAgICBjb3guc3VtIDwtIHN1bW1hcnkoY294Zml0KQogICAgY294LmVmZmVjdHNpemUgPSBjb3guc3VtJGNvZWZmaWNpZW50c1sxLDFdCiAgICBjb3guU0UgPSBjb3guc3VtJGNvZWZmaWNpZW50c1sxLDNdCiAgICBjb3guSFJlZmZlY3QgPSBjb3guc3VtJGNvZWZmaWNpZW50c1sxLDJdCiAgICBjb3guQ0lfbG93ID0gZXhwKGNveC5lZmZlY3RzaXplIC0gMS45NiAqIGNveC5TRSkKICAgIGNveC5DSV91cCA9IGV4cChjb3guZWZmZWN0c2l6ZSArIDEuOTYgKiBjb3guU0UpCiAgICBjb3guenZhbHVlID0gY294LnN1bSRjb2VmZmljaWVudHNbMSw0XQogICAgY294LnB2YWx1ZSA9IGNveC5zdW0kY29lZmZpY2llbnRzWzEsNV0KICAgIGNveC5zYW1wbGVfc2l6ZSA9IGNveC5zdW0kbgogICAgY294Lm5ldmVudHMgPSBjb3guc3VtJG5ldmVudAogICAgCiAgICBvdXRwdXQgPSBjKERBVEFTRVQsIE9VVENPTUUsIHByb3RlaW4sIGNveC5lZmZlY3RzaXplLCBjb3guU0UsIGNveC5IUmVmZmVjdCwgY294LkNJX2xvdywgY294LkNJX3VwLCBjb3guenZhbHVlLCBjb3gucHZhbHVlLCBjb3guc2FtcGxlX3NpemUsIGNveC5uZXZlbnRzKQogICAgY2F0KCJXZSBoYXZlIGNvbGxlY3RlZCB0aGUgZm9sbG93aW5nOlxuIikKICAgIGNhdCgiRGF0YXNldCB1c2VkLi4uLi4uLi4uLi4uLi46IiwgREFUQVNFVCwgIlxuIikKICAgIGNhdCgiT3V0Y29tZSBhbmFseXplZC4uLi4uLi4uLi46IiwgT1VUQ09NRSwgIlxuIikKICAgIGNhdCgiUHJvdGVpbi4uLi4uLi4uLi4uLi4uLi4uLi46IiwgcHJvdGVpbiwgIlxuIikKICAgIGNhdCgiRWZmZWN0IHNpemUuLi4uLi4uLi4uLi4uLi46Iiwgcm91bmQoY294LmVmZmVjdHNpemUsIDYpLCAiXG4iKQogICAgY2F0KCJTdGFuZGFyZCBlcnJvci4uLi4uLi4uLi4uLjoiLCByb3VuZChjb3guU0UsIDYpLCAiXG4iKQogICAgY2F0KCJPZGRzIHJhdGlvIChlZmZlY3Qgc2l6ZSkuLjoiLCByb3VuZChjb3guSFJlZmZlY3QsIDMpLCAiXG4iKQogICAgY2F0KCJMb3dlciA5NSUgQ0kuLi4uLi4uLi4uLi4uLjoiLCByb3VuZChjb3guQ0lfbG93LCAzKSwgIlxuIikKICAgIGNhdCgiVXBwZXIgOTUlIENJLi4uLi4uLi4uLi4uLi46Iiwgcm91bmQoY294LkNJX3VwLCAzKSwgIlxuIikKICAgIGNhdCgiVC12YWx1ZS4uLi4uLi4uLi4uLi4uLi4uLi46Iiwgcm91bmQoY294Lnp2YWx1ZSwgNiksICJcbiIpCiAgICBjYXQoIlAtdmFsdWUuLi4uLi4uLi4uLi4uLi4uLi4uOiIsIHNpZ25pZihjb3gucHZhbHVlLCA4KSwgIlxuIikKICAgIGNhdCgiU2FtcGxlIHNpemUgaW4gbW9kZWwuLi4uLi46IiwgY294LnNhbXBsZV9zaXplLCAiXG4iKQogICAgY2F0KCJOdW1iZXIgb2YgZXZlbnRzLi4uLi4uLi4uLjoiLCBjb3gubmV2ZW50cywgIlxuIikKICB9CiAgcmV0dXJuKG91dHB1dCkKICBwcmludChvdXRwdXQpCn0gCgp0aW1lcyA9IGMoImVwX21ham9yX3RfM3llYXJzIiwgCiAgICAgICAgICAiZXBfc3Ryb2tlX3RfM3llYXJzIiwgImVwX2Nvcm9uYXJ5X3RfM3llYXJzIiwgImVwX2N2ZGVhdGhfdF8zeWVhcnMiKQoKZW5kcG9pbnRzID0gYygiZXBtYWpvci4zeWVhcnMiLCAKICAgICAgICAgICAgICAiZXBzdHJva2UuM3llYXJzIiwgImVwY29yb25hcnkuM3llYXJzIiwgImVwY3ZkZWF0aC4zeWVhcnMiKQoKY2F0KCIqIENoZWNrIHRoZSBjYXNlcyBwZXIgZXZlbnQgdHlwZSAtIGZvciBzYW5pdHkuIikKZm9yIChldmVudHMgaW4gZW5kcG9pbnRzKXsKICByZXF1aXJlKGxhYmVsbGVkKQogIHByaW50KHBhc3RlMCgiUHJpbnRpbmcgdGhlIHN1bW1hcnkgb2Y6ICIsZXZlbnRzKSkKICAjIHByaW50KHN1bW1hcnkoQUVEQi5DRUFbLGV2ZW50c10pKQogIHByaW50KHRhYmxlKEFFREIuQ0VBWyxldmVudHNdKSkKfQoKY2F0KCIqIENoZWNrIGRpc3RyaWJ1dGlvbiBvZiBldmVudHMgb3ZlciB0aW1lIC0gZm9yIHNhbml0eS4iKQpmb3IgKGV2ZW50dGltZXMgaW4gdGltZXMpewogIHByaW50KHBhc3RlMCgiUHJpbnRpbmcgdGhlIHN1bW1hcnkgb2Y6ICIsZXZlbnR0aW1lcykpCiAgcHJpbnQoc3VtbWFyeShBRURCLkNFQVssZXZlbnR0aW1lc10pKQp9Cgpmb3IgKGV2ZW50dGltZSBpbiB0aW1lcyl7CiAgCiAgcHJpbnQocGFzdGUwKCJQcmludGluZyB0aGUgZGlzdHJpYnV0aW9uIG9mOiAiLGV2ZW50dGltZSkpCiAgcCA8LSBnZ2hpc3RvZ3JhbShBRURCLkNFQSwgeCA9IGV2ZW50dGltZSwgeSA9ICIuLmNvdW50Li4iLAogICAgICAgICAgICAgIG1haW4gPSBldmVudHRpbWUsIGJpbnMgPSAxNSwgCiAgICAgICAgICAgICAgeGxhYiA9ICJ5ZWFyIiwgY29sb3IgPSB1aXRob2ZfY29sb3JbMTZdLCBmaWxsID0gdWl0aG9mX2NvbG9yWzE2XSwgZ2d0aGVtZSA9IHRoZW1lX21pbmltYWwoKSkgCiBwcmludChwKQogZ2dzYXZlKGZpbGUgPSBwYXN0ZTAoUUNfbG9jLCAiLyIsVG9kYXksIi5BRURCLkNFQS5FdmVudERpc3RyaWJ1dGlvblBlclllYXIuIixldmVudHRpbWUsIi5wZGYiKSwgcGxvdCA9IGxhc3RfcGxvdCgpKQp9Cgp0aW1lczMwID0gYygiZXBfbWFqb3JfdF8zMGRheXMiLCAKICAgICAgICAgICJlcF9zdHJva2VfdF8zMGRheXMiLCAiZXBfY29yb25hcnlfdF8zMGRheXMiLCAiZXBfY3ZkZWF0aF90XzMwZGF5cyIpCgplbmRwb2ludHMzMCA9IGMoImVwbWFqb3IuMzBkYXlzIiwgCiAgICAgICAgICAgICAgImVwc3Ryb2tlLjMwZGF5cyIsICJlcGNvcm9uYXJ5LjMwZGF5cyIsICJlcGN2ZGVhdGguMzBkYXlzIikKCmNhdCgiKiBDaGVjayB0aGUgY2FzZXMgcGVyIGV2ZW50IHR5cGUgLSBmb3Igc2FuaXR5LiIpCmZvciAoZXZlbnRzIGluIGVuZHBvaW50czMwKXsKICBwcmludChwYXN0ZTAoIlByaW50aW5nIHRoZSBzdW1tYXJ5IG9mOiAiLGV2ZW50cykpCiAgIyBwcmludChzdW1tYXJ5KEFFREIuQ0VBWyxldmVudHNdKSkKICBwcmludCh0YWJsZShBRURCLkNFQVssZXZlbnRzXSkpCn0KCmNhdCgiKiBDaGVjayBkaXN0cmlidXRpb24gb2YgZXZlbnRzIG92ZXIgdGltZSAtIGZvciBzYW5pdHkuIikKZm9yIChldmVudHRpbWVzIGluIHRpbWVzMzApewogIHByaW50KHBhc3RlMCgiUHJpbnRpbmcgdGhlIHN1bW1hcnkgb2Y6ICIsZXZlbnR0aW1lcykpCiAgcHJpbnQoc3VtbWFyeShBRURCLkNFQVssZXZlbnR0aW1lc10pKQp9Cgpmb3IgKGV2ZW50dGltZSBpbiB0aW1lczMwKXsKICAKICBwcmludChwYXN0ZTAoIlByaW50aW5nIHRoZSBkaXN0cmlidXRpb24gb2Y6ICIsZXZlbnR0aW1lKSkKICBwIDwtIGdnaGlzdG9ncmFtKEFFREIuQ0VBLCB4ID0gZXZlbnR0aW1lLCB5ID0gIi4uY291bnQuLiIsCiAgICAgICAgICAgICAgbWFpbiA9IGV2ZW50dGltZSwgYmlucyA9IDE1LCAKICAgICAgICAgICAgICB4bGFiID0gImRheXMiLCBjb2xvciA9IHVpdGhvZl9jb2xvclsxNl0sIGZpbGwgPSB1aXRob2ZfY29sb3JbMTZdLCBnZ3RoZW1lID0gdGhlbWVfbWluaW1hbCgpKSAKIHByaW50KHApCiBnZ3NhdmUoZmlsZSA9IHBhc3RlMChRQ19sb2MsICIvIixUb2RheSwiLkFFREIuQ0VBLkV2ZW50RGlzdHJpYnV0aW9uUGVyMzBEYXlzLiIsZXZlbnR0aW1lLCIucGRmIiksIHBsb3QgPSBsYXN0X3Bsb3QoKSkKfQoKdGltZXM5MCA9IGMoImVwX21ham9yX3RfOTBkYXlzIiwgCiAgICAgICAgICAiZXBfc3Ryb2tlX3RfOTBkYXlzIiwgImVwX2Nvcm9uYXJ5X3RfOTBkYXlzIiwgImVwX2N2ZGVhdGhfdF85MGRheXMiKQoKZW5kcG9pbnRzOTAgPSBjKCJlcG1ham9yLjkwZGF5cyIsIAogICAgICAgICAgICAgICJlcHN0cm9rZS45MGRheXMiLCAiZXBjb3JvbmFyeS45MGRheXMiLCAiZXBjdmRlYXRoLjkwZGF5cyIpCgpjYXQoIiogQ2hlY2sgdGhlIGNhc2VzIHBlciBldmVudCB0eXBlIC0gZm9yIHNhbml0eS4iKQpmb3IgKGV2ZW50cyBpbiBlbmRwb2ludHM5MCl7CiAgcHJpbnQocGFzdGUwKCJQcmludGluZyB0aGUgc3VtbWFyeSBvZjogIixldmVudHMpKQogICMgcHJpbnQoc3VtbWFyeShBRURCLkNFQVssZXZlbnRzXSkpCiAgcHJpbnQodGFibGUoQUVEQi5DRUFbLGV2ZW50c10pKQp9CgpjYXQoIiogQ2hlY2sgZGlzdHJpYnV0aW9uIG9mIGV2ZW50cyBvdmVyIHRpbWUgLSBmb3Igc2FuaXR5LiIpCmZvciAoZXZlbnR0aW1lcyBpbiB0aW1lczkwKXsKICBwcmludChwYXN0ZTAoIlByaW50aW5nIHRoZSBzdW1tYXJ5IG9mOiAiLGV2ZW50dGltZXMpKQogIHByaW50KHN1bW1hcnkoQUVEQi5DRUFbLGV2ZW50dGltZXNdKSkKfQoKZm9yIChldmVudHRpbWUgaW4gdGltZXM5MCl7CiAgCiAgcHJpbnQocGFzdGUwKCJQcmludGluZyB0aGUgZGlzdHJpYnV0aW9uIG9mOiAiLGV2ZW50dGltZSkpCiAgcCA8LSBnZ2hpc3RvZ3JhbShBRURCLkNFQSwgeCA9IGV2ZW50dGltZSwgeSA9ICIuLmNvdW50Li4iLAogICAgICAgICAgICAgIG1haW4gPSBldmVudHRpbWUsIGJpbnMgPSAxNSwgCiAgICAgICAgICAgICAgeGxhYiA9ICJkYXlzIiwgY29sb3IgPSB1aXRob2ZfY29sb3JbMTZdLCBmaWxsID0gdWl0aG9mX2NvbG9yWzE2XSwgZ2d0aGVtZSA9IHRoZW1lX21pbmltYWwoKSkgCiBwcmludChwKQogZ2dzYXZlKGZpbGUgPSBwYXN0ZTAoUUNfbG9jLCAiLyIsVG9kYXksIi5BRURCLkNFQS5FdmVudERpc3RyaWJ1dGlvblBlcjkwRGF5cy4iLGV2ZW50dGltZSwiLnBkZiIpLCBwbG90ID0gbGFzdF9wbG90KCkpCn0KCgpgYGAKCgojIyMgQ294IHJlZ3Jlc3Npb25zCgpMZXQncyBwZXJmb3JtIHRoZSBhY3R1YWwgQ294LXJlZ3Jlc3Npb25zLiBXZSB3aWxsIGFwcGx5IGEgY291cGxlIG9mIG1vZGVsczogCgotIE1vZGVsIDE6IGFkanVzdGVkIGZvciBhZ2UsIHNleCwgYW5kIHllYXIgb2Ygc3VyZ2VyeQotIE1vZGVsIDI6IGFkanVzdGVkIGZvciBhZ2UsIHNleCwgeWVhciBvZiBzdXJnZXJ5LCBoeXBlcnRlbnNpb24sIGRpYWJldGVzLCBzbW9raW5nLCBMREwtQyBsZXZlbHMsIGxpcGlkLWxvd2VyaW5nIGRydWdzLCBhbnRpcGxhdGVsZXQgZHJ1Z3MsIGVHRlIsIEJNSSwgaGlzdG9yeSBvZiBDVkQsIGxldmVsIG9mIHN0ZW5vc2lzCgojIyMjIDMgeWVhcnMgZm9sbG93LXVwCgoqTU9ERUwgMSoKYGBge3IgQ294LXJlZ3Jlc3Npb24gQW5hbHlzaXM6IFNpbXBsZSBtb2RlbH0KIyBTZXQgdXAgYSBkYXRhZnJhbWUgdG8gcmVjZWl2ZSByZXN1bHRzCkNPWC5yZXN1bHRzIDwtIGRhdGEuZnJhbWUobWF0cml4KE5BLCBuY29sID0gMTIsIG5yb3cgPSAwKSkKCiMgTG9vcGluZyBvdmVyIGVhY2ggcHJvdGVpbi9lbmRwb2ludC90aW1lIGNvbWJpbmF0aW9uCmZvciAoaSBpbiAxOmxlbmd0aCh0aW1lcykpewogIGVwdGltZSA9IHRpbWVzW2ldCiAgZXAgPSBlbmRwb2ludHNbaV0KICBjYXQocGFzdGUwKCIqIEFuYWx5emluZyB0aGUgZWZmZWN0IG9mIHBsYXF1ZSBwcm90ZWlucyBvbiBbIixlcCwiXS5cbiIpKQogIGNhdCgiIC0gY3JlYXRpbmcgdGVtcG9yYXJ5IFNFIGZvciB0aGlzIHdvcmsuXG4iKQogIFRFTVAuREYgPSBhcy5kYXRhLmZyYW1lKEFFREIuQ0VBKQogIGNhdCgiIC0gbWFraW5nIGEgJ1N1cnYnIG9iamVjdCBhbmQgYWRkaW5nIHRoaXMgdG8gdGVtcG9yYXJ5IGRhdGFmcmFtZS5cbiIpCiAgVEVNUC5ERiRldmVudCA8LSBhcy5pbnRlZ2VyKFRFTVAuREZbLGVwXSkKICBURU1QLkRGJHkgPC0gU3Vydih0aW1lID0gVEVNUC5ERlssZXB0aW1lXSwgZXZlbnQgPSBURU1QLkRGJGV2ZW50KQogIGNhdCgiIC0gbWFraW5nIHN0cmF0YSBvZiBlYWNoIG9mIHRoZSBwbGFxdWUgcHJvdGVpbnMgYW5kIHN0YXJ0IHN1cnZpdmFsIGFuYWx5c2lzLlxuIikKICAKICBmb3IgKHByb3RlaW4gaW4gMTpsZW5ndGgoVFJBSVRTLlBST1RFSU4uUkFOSykpewogICAgY2F0KHBhc3RlMCgiICAgPiBwcm9jZXNzaW5nIFsiLFRSQUlUUy5QUk9URUlOLlJBTktbcHJvdGVpbl0sIl07ICIscHJvdGVpbiwiIG91dCBvZiAiLGxlbmd0aChUUkFJVFMuUFJPVEVJTi5SQU5LKSwiIHByb3RlaW5zLlxuIikpCiAgICAjIHNwbGl0dGluZyBpbnRvIHR3byBncm91cHMKICAgIFRFTVAuREZbWyBUUkFJVFMuUFJPVEVJTi5SQU5LW3Byb3RlaW5dIF1dIDwtIGN1dDIoVEVNUC5ERlssVFJBSVRTLlBST1RFSU4uUkFOS1twcm90ZWluXV0sIGcgPSAyKQogICAgY2F0KHBhc3RlMCgiICAgPiBjcm9zcyB0YWJ1bGF0aW9uIG9mICIsVFJBSVRTLlBST1RFSU4uUkFOS1twcm90ZWluXSwiLXN0cmF0dW0uXG4iKSkKICAgIHNob3codGFibGUoVEVNUC5ERltbIFRSQUlUUy5QUk9URUlOLlJBTktbcHJvdGVpbl0gXV0pKQogICAgCiAgICBjYXQocGFzdGUwKCJcbiAgID4gZml0dGluZyB0aGUgbW9kZWwgZm9yICIsVFJBSVRTLlBST1RFSU4uUkFOS1twcm90ZWluXSwiLXN0cmF0dW0uXG4iKSkKICAgIGZpdCA8LSBzdXJ2Zml0KGFzLmZvcm11bGEocGFzdGUwKCJ5IH4gIiwgVFJBSVRTLlBST1RFSU4uUkFOS1twcm90ZWluXSkpLCBkYXRhID0gVEVNUC5ERikKICAgIAogICAgY2F0KHBhc3RlMCgiXG4gICA+IG1ha2UgYSBLYXBsYW4tTWVpZXItc2hpenpsZS4uLlxuIikpCiAgICAjIG1ha2UgS2FwbGFuLU1laWVyIGN1cnZlIGFuZCBzYXZlIGl0CiAgICBzaG93KGdnc3VydnBsb3QoZml0LCBkYXRhID0gVEVNUC5ERiwKICAgICAgICAgICAgICAgICAgICBwYWxldHRlID0gYygiI0RCMDAzRiIsICIjMTI5MEQ5IiksCiAgICAgICAgICAgICAgICAgICAgIyBwYWxldGUgPSBjKCJGNTlEMTAiLCAiI0RCMDAzRiIsICIjNDlBMDFEIiwgIiMxMjkwRDkiKSwKICAgICAgICAgICAgICAgICAgICBsaW5ldHlwZSA9IGMoMSwyKSwKICAgICAgICAgICAgICAgICAgICAjIGxpbmV0eXBlID0gYygxLDIsMyw0KSwKICAgICAgICAgICAgICAgICAgICAjIGNvbmYuaW50ID0gRkFMU0UsIGNvbmYuaW50LmZpbGwgPSAiIzU5NUE1QyIsIGNvbmYuaW50LmFscGhhID0gMC4xLAogICAgICAgICAgICAgICAgICAgIHB2YWwgPSBGQUxTRSwgcHZhbC5tZXRob2QgPSBGQUxTRSwgcHZhbC5zaXplID0gNCwKICAgICAgICAgICAgICAgICAgICByaXNrLnRhYmxlID0gVFJVRSwgcmlzay50YWJsZS55LnRleHQgPSBGQUxTRSwgdGFibGVzLnkudGV4dC5jb2wgPSBUUlVFLCBmb250c2l6ZSA9IDQsCiAgICAgICAgICAgICAgICAgICAgY2Vuc29yID0gRkFMU0UsCiAgICAgICAgICAgICAgICAgICAgbGVnZW5kID0gInJpZ2h0IiwKICAgICAgICAgICAgICAgICAgICBsZWdlbmQudGl0bGUgPSBwYXN0ZTAoIiIsVFJBSVRTLlBST1RFSU4uUkFOS1twcm90ZWluXSwiIiksCiAgICAgICAgICAgICAgICAgICAgbGVnZW5kLmxhYnMgPSBjKCJsb3ciLCAiaGlnaCIpLAogICAgICAgICAgICAgICAgICAgIHRpdGxlID0gcGFzdGUwKCJSaXNrIG9mICIsZXAsIiIpLCB4bGFiID0gIlRpbWUgW3llYXJzXSIsIGZvbnQubWFpbiA9IGMoMTYsICJib2xkIiwgImJsYWNrIikpKQogICAgZGV2LmNvcHkycGRmKGZpbGUgPSBwYXN0ZTAoQ09YX2xvYywiLyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUb2RheSwiLkFFREIuQ0VBLnN1cnZpdmFsLiIsZXAsIi4yRy4iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVFJBSVRTLlBST1RFSU4uUkFOS1twcm90ZWluXSwiLnBkZiIpLCB3aWR0aCA9IDEyLCBoZWlnaHQgPSAxMCwgb25lZmlsZSA9IEZBTFNFKQoKICAgIGNhdChwYXN0ZTAoIlxuICAgPiBwZXJmb3JtIHRoZSBDb3gtcmVncmVzc2lvbiBmYXNoaXp6bGUgYW5kIHBsb3QgaXQuLi5cbiIpKQogICAgIyMjIERvIENveC1yZWdyZXNzaW9uIGFuZCBwbG90IGl0CiAgICAKICAgICMjIyBNT0RFTCAxIChTaW1wbGUgbW9kZWwpCiAgICBjb3ggPSBjb3hwaChTdXJ2KFRFTVAuREZbLGVwdGltZV0sIGV2ZW50KSB+IFRFTVAuREZbWyBUUkFJVFMuUFJPVEVJTi5SQU5LW3Byb3RlaW5dIF1dK0FnZStHZW5kZXIgKyBPUmRhdGVfeWVhciwgZGF0YSA9IFRFTVAuREYpCiAgICBjb3hwbG90ID0gY294cGgoU3VydihURU1QLkRGWyxlcHRpbWVdLCBldmVudCkgfiBzdHJhdGEoVEVNUC5ERltbIFRSQUlUUy5QUk9URUlOLlJBTktbcHJvdGVpbl0gXV0pK0FnZStHZW5kZXIgKyBPUmRhdGVfeWVhciwgZGF0YSA9IFRFTVAuREYpCgogICAgcGxvdChzdXJ2Zml0KGNveHBsb3QpLCBtYWluID0gcGFzdGUwKCJDb3ggcHJvcG9ydGlvbmFsIGhhemFyZCBvZiBbIixlcCwiXSBwZXIgWyIsZXB0aW1lLCJdLiIpLAogICAgICAgICAjIHlsaW0gPSBjKDAuMiwgMSksIHhsaW0gPSBjKDAsMyksIGNvbCA9IGMoIiM1OTVBNUMiLCAiI0RCMDAzRiIsICIjMTI5MEQ5IiksCiAgICAgICAgIHlsaW0gPSBjKDAsIDEpLCB4bGltID0gYygwLDMpLCBjb2wgPSBjKCIjREIwMDNGIiwgIiMxMjkwRDkiKSwKICAgICAgICAgbHR5ID0gYygxLDIpLCBsd2QgPSAyLAogICAgICAgICB5bGFiID0gIlN1dml2YWwgcHJvYmFiaWxpdHkiLCB4bGFiID0gIkZVIHRpbWUgW3llYXJzXSIsCiAgICAgICAgIG1hcmsudGltZSA9IEZBTFNFLCBheGVzID0gRkFMU0UsIGJ0eSA9ICJuIikKICAgIGxlZ2VuZCgidG9wcmlnaHQiLAogICAgICAgICAgIGMoImxvdyIsICJoaWdoIiksCiAgICAgICAgICAgdGl0bGUgPSBwYXN0ZTAoIiIsVFJBSVRTLlBST1RFSU4uUkFOS1twcm90ZWluXSwiIiksCiAgICAgICAgICAgY29sID0gYygiI0RCMDAzRiIsICIjMTI5MEQ5IiksCiAgICAgICAgICAgbHR5ID0gYygxLDIpLCBsd2QgPSAyLAogICAgICAgICAgIGJ0eSA9ICJuIikKICAgIGF4aXMoc2lkZSA9IDEsIGF0ID0gc2VxKDAsIDMsIGJ5ID0gMSkpCiAgICBheGlzKHNpZGUgPSAyLCBhdCA9IHNlcSgwLCAxLCBieSA9IDAuMikpCiAgICBkZXYuY29weTJwZGYoZmlsZSA9IHBhc3RlMChDT1hfbG9jLCIvIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRvZGF5LCIuQUVEQi5DRUEuQ294LiIsZXAsIi4yRy4iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBUb2RheSwiLkFFREIuQ0VBLkNveC4iLGVwLCIuNEcuIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRSQUlUUy5QUk9URUlOLlJBTktbcHJvdGVpbl0sIi5NT0RFTDEucGRmIiksIGhlaWdodCA9IDEyLCB3aWR0aCA9IDEwLCBvbmVmaWxlID0gVFJVRSkKICAgIHNob3coc3VtbWFyeShjb3gpKQoKICAgIGNhdChwYXN0ZTAoIlxuICAgPiB3cml0aW5nIHRoZSBDb3gtcmVncmVzc2lvbiBmYXNoaXp6bGUgdG8gRXhjZWwuLi5cbiIpKQoKICAgIENPWC5yZXN1bHRzLlRFTVAgPC0gZGF0YS5mcmFtZShtYXRyaXgoTkEsIG5jb2wgPSAxMiwgbnJvdyA9IDApKQogICAgQ09YLnJlc3VsdHMuVEVNUFsxLF0gPSBDT1guU1RBVChjb3gsICJBRURCLkNFQSIsIGVwLCBUUkFJVFMuUFJPVEVJTi5SQU5LW3Byb3RlaW5dKQogICAgQ09YLnJlc3VsdHMgPSByYmluZChDT1gucmVzdWx0cywgQ09YLnJlc3VsdHMuVEVNUCkKCiAgfQp9CgpjYXQoIi0gRWRpdCB0aGUgY29sdW1uIG5hbWVzLi4uXG4iKQpjb2xuYW1lcyhDT1gucmVzdWx0cykgPSBjKCJEYXRhc2V0IiwgIk91dGNvbWUiLCAiQ3BHIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAiQmV0YSIsICJzLmUubS4iLAogICAgICAgICAgICAgICAgICAgICAgICAgICJIUiIsICJsb3c5NUNJIiwgInVwOTVDSSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIlotdmFsdWUiLCAiUC12YWx1ZSIsICJTYW1wbGVTaXplIiwgIk5fZXZlbnRzIikKCmNhdCgiLSBDb3JyZWN0IHRoZSB2YXJpYWJsZSB0eXBlcy4uLlxuIikKQ09YLnJlc3VsdHMkQmV0YSA8LSBhcy5udW1lcmljKENPWC5yZXN1bHRzJEJldGEpCkNPWC5yZXN1bHRzJHMuZS5tLiA8LSBhcy5udW1lcmljKENPWC5yZXN1bHRzJHMuZS5tLikKQ09YLnJlc3VsdHMkSFIgPC0gYXMubnVtZXJpYyhDT1gucmVzdWx0cyRIUikKQ09YLnJlc3VsdHMkbG93OTVDSSA8LSBhcy5udW1lcmljKENPWC5yZXN1bHRzJGxvdzk1Q0kpCkNPWC5yZXN1bHRzJHVwOTVDSSA8LSBhcy5udW1lcmljKENPWC5yZXN1bHRzJHVwOTVDSSkKQ09YLnJlc3VsdHMkYFotdmFsdWVgIDwtIGFzLm51bWVyaWMoQ09YLnJlc3VsdHMkYFotdmFsdWVgKQpDT1gucmVzdWx0cyRgUC12YWx1ZWAgPC0gYXMubnVtZXJpYyhDT1gucmVzdWx0cyRgUC12YWx1ZWApCkNPWC5yZXN1bHRzJFNhbXBsZVNpemUgPC0gYXMubnVtZXJpYyhDT1gucmVzdWx0cyRTYW1wbGVTaXplKQpDT1gucmVzdWx0cyROX2V2ZW50cyA8LSBhcy5udW1lcmljKENPWC5yZXN1bHRzJE5fZXZlbnRzKQoKQUVEQi5DRUEuQ09YLnJlc3VsdHMgPC0gQ09YLnJlc3VsdHMKCiMgU2F2ZSB0aGUgZGF0YQpjYXQoIi0gV3JpdGluZyByZXN1bHRzIHRvIEV4Y2VsLWZpbGUuLi5cbiIpCmhlYWQuc3R5bGUgPC0gY3JlYXRlU3R5bGUodGV4dERlY29yYXRpb24gPSAiQk9MRCIpCndyaXRlLnhsc3goQUVEQi5DRUEuQ09YLnJlc3VsdHMsCiAgICAgICAgICAgZmlsZSA9IHBhc3RlMChPVVRfbG9jLCAiLyIsVG9kYXksIi5BRURCLkNFQS5Db3guMkcuTU9ERUwxLnhsc3giKSwKICAgICAgICAgICBjcmVhdG9yID0gIlNhbmRlciBXLiB2YW4gZGVyIExhYW4iLAogICAgICAgICAgIHNoZWV0TmFtZSA9ICJSZXN1bHRzIiwgaGVhZGVyU3R5bGUgPSBoZWFkLnN0eWxlLAogICAgICAgICAgIHJvdy5uYW1lcyA9IEZBTFNFLCBjb2wubmFtZXMgPSBUUlVFLCBvdmVyd3JpdGUgPSBUUlVFKQoKIyBSZW1vdmluZyBpbnRlcm1lZGlhdGVzCmNhdCgiLSBSZW1vdmluZyBpbnRlcm1lZGlhdGUgZmlsZXMuLi5cbiIpCiNybShURU1QLkRGLCBwcm90ZWluLCBmaXQsIGNveCwgY294cGxvdCwgQ09YLnJlc3VsdHMsIENPWC5yZXN1bHRzLlRFTVAsIGhlYWQuc3R5bGUsIEFFREIuQ0VBLkNPWC5yZXN1bHRzKQoKI3JtKGhlYWQuc3R5bGUpCgpgYGAKCipNT0RFTCAyKgpgYGB7ciBDb3gtcmVncmVzc2lvbiBBbmFseXNpczogTU9ERUwgMn0KIyBTZXQgdXAgYSBkYXRhZnJhbWUgdG8gcmVjZWl2ZSByZXN1bHRzCkNPWC5yZXN1bHRzIDwtIGRhdGEuZnJhbWUobWF0cml4KE5BLCBuY29sID0gMTIsIG5yb3cgPSAwKSkKCiMgTG9vcGluZyBvdmVyIGVhY2ggcHJvdGVpbi9lbmRwb2ludC90aW1lIGNvbWJpbmF0aW9uCmZvciAoaSBpbiAxOmxlbmd0aCh0aW1lcykpewogIGVwdGltZSA9IHRpbWVzW2ldCiAgZXAgPSBlbmRwb2ludHNbaV0KICBjYXQocGFzdGUwKCIqIEFuYWx5emluZyB0aGUgZWZmZWN0IG9mIHBsYXF1ZSBwcm90ZWlucyBvbiBbIixlcCwiXS5cbiIpKQogIGNhdCgiIC0gY3JlYXRpbmcgdGVtcG9yYXJ5IFNFIGZvciB0aGlzIHdvcmsuXG4iKQogIFRFTVAuREYgPSBhcy5kYXRhLmZyYW1lKEFFREIuQ0VBKQogIGNhdCgiIC0gbWFraW5nIGEgJ1N1cnYnIG9iamVjdCBhbmQgYWRkaW5nIHRoaXMgdG8gdGVtcG9yYXJ5IGRhdGFmcmFtZS5cbiIpCiAgVEVNUC5ERiRldmVudCA8LSBhcy5pbnRlZ2VyKFRFTVAuREZbLGVwXSkKICAjYXMuaW50ZWdlcihURU1QLkRGWyxlcF0gPT0gIkV4Y2x1ZGVkIikKCiAgVEVNUC5ERiR5IDwtIFN1cnYodGltZSA9IFRFTVAuREZbLGVwdGltZV0sIGV2ZW50ID0gVEVNUC5ERiRldmVudCkKICBjYXQoIiAtIG1ha2luZyBzdHJhdGEgb2YgZWFjaCBvZiB0aGUgcGxhcXVlIHByb3RlaW5zIGFuZCBzdGFydCBzdXJ2aXZhbCBhbmFseXNpcy5cbiIpCiAgCiAgZm9yIChwcm90ZWluIGluIDE6bGVuZ3RoKFRSQUlUUy5QUk9URUlOLlJBTkspKXsKICAgIGNhdChwYXN0ZTAoIiAgID4gcHJvY2Vzc2luZyBbIixUUkFJVFMuUFJPVEVJTi5SQU5LW3Byb3RlaW5dLCJdOyAiLHByb3RlaW4sIiBvdXQgb2YgIixsZW5ndGgoVFJBSVRTLlBST1RFSU4uUkFOSyksIiBwcm90ZWlucy5cbiIpKQogICAgIyBzcGxpdHRpbmcgaW50byB0d28gZ3JvdXBzCiAgICBURU1QLkRGW1sgVFJBSVRTLlBST1RFSU4uUkFOS1twcm90ZWluXSBdXSA8LSBjdXQyKFRFTVAuREZbLFRSQUlUUy5QUk9URUlOLlJBTktbcHJvdGVpbl1dLCBnID0gMikKICAgIGNhdChwYXN0ZTAoIiAgID4gY3Jvc3MgdGFidWxhdGlvbiBvZiAiLFRSQUlUUy5QUk9URUlOLlJBTktbcHJvdGVpbl0sIi1zdHJhdHVtLlxuIikpCiAgICBzaG93KHRhYmxlKFRFTVAuREZbWyBUUkFJVFMuUFJPVEVJTi5SQU5LW3Byb3RlaW5dIF1dKSkKICAgIAogICAgY2F0KHBhc3RlMCgiXG4gICA+IGZpdHRpbmcgdGhlIG1vZGVsIGZvciAiLFRSQUlUUy5QUk9URUlOLlJBTktbcHJvdGVpbl0sIi1zdHJhdHVtLlxuIikpCiAgICBmaXQgPC0gc3VydmZpdChhcy5mb3JtdWxhKHBhc3RlMCgieSB+ICIsIFRSQUlUUy5QUk9URUlOLlJBTktbcHJvdGVpbl0pKSwgZGF0YSA9IFRFTVAuREYpCiAgICAKICAgIGNhdChwYXN0ZTAoIlxuICAgPiBtYWtlIGEgS2FwbGFuLU1laWVyLXNoaXp6bGUuLi5cbiIpKQogICAgIyBtYWtlIEthcGxhbi1NZWllciBjdXJ2ZSBhbmQgc2F2ZSBpdAogICAgc2hvdyhnZ3N1cnZwbG90KGZpdCwgZGF0YSA9IFRFTVAuREYsCiAgICAgICAgICAgICAgICAgICAgcGFsZXR0ZSA9IGMoIiNEQjAwM0YiLCAiIzEyOTBEOSIpLAogICAgICAgICAgICAgICAgICAgICMgcGFsZXRlID0gYygiRjU5RDEwIiwgIiNEQjAwM0YiLCAiIzQ5QTAxRCIsICIjMTI5MEQ5IiksCiAgICAgICAgICAgICAgICAgICAgbGluZXR5cGUgPSBjKDEsMiksCiAgICAgICAgICAgICAgICAgICAgIyBsaW5ldHlwZSA9IGMoMSwyLDMsNCksCiAgICAgICAgICAgICAgICAgICAgIyBjb25mLmludCA9IEZBTFNFLCBjb25mLmludC5maWxsID0gIiM1OTVBNUMiLCBjb25mLmludC5hbHBoYSA9IDAuMSwKICAgICAgICAgICAgICAgICAgICBwdmFsID0gRkFMU0UsIHB2YWwubWV0aG9kID0gRkFMU0UsIHB2YWwuc2l6ZSA9IDQsCiAgICAgICAgICAgICAgICAgICAgcmlzay50YWJsZSA9IFRSVUUsIHJpc2sudGFibGUueS50ZXh0ID0gRkFMU0UsIHRhYmxlcy55LnRleHQuY29sID0gVFJVRSwgZm9udHNpemUgPSA0LAogICAgICAgICAgICAgICAgICAgIGNlbnNvciA9IEZBTFNFLAogICAgICAgICAgICAgICAgICAgIGxlZ2VuZCA9ICJyaWdodCIsCiAgICAgICAgICAgICAgICAgICAgbGVnZW5kLnRpdGxlID0gcGFzdGUwKCIiLFRSQUlUUy5QUk9URUlOLlJBTktbcHJvdGVpbl0sIiIpLAogICAgICAgICAgICAgICAgICAgIGxlZ2VuZC5sYWJzID0gYygibG93IiwgImhpZ2giKSwKICAgICAgICAgICAgICAgICAgICB0aXRsZSA9IHBhc3RlMCgiUmlzayBvZiAiLGVwLCIiKSwgeGxhYiA9ICJUaW1lIFt5ZWFyc10iLCBmb250Lm1haW4gPSBjKDE2LCAiYm9sZCIsICJibGFjayIpKSkKICAgIGRldi5jb3B5MnBkZihmaWxlID0gcGFzdGUwKENPWF9sb2MsIi8iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVG9kYXksIi5BRURCLkNFQS5zdXJ2aXZhbC4iLGVwLCIuMkcuIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRSQUlUUy5QUk9URUlOLlJBTktbcHJvdGVpbl0sIi5wZGYiKSwgd2lkdGggPSAxMiwgaGVpZ2h0ID0gMTAsIG9uZWZpbGUgPSBGQUxTRSkKCiAgICBjYXQocGFzdGUwKCJcbiAgID4gcGVyZm9ybSB0aGUgQ294LXJlZ3Jlc3Npb24gZmFzaGl6emxlIGFuZCBwbG90IGl0Li4uXG4iKSkKICAgICMjIyBEbyBDb3gtcmVncmVzc2lvbiBhbmQgcGxvdCBpdAogICAgCiAgICAjIyMgTU9ERUwgMiBhZGp1c3RlZCBmb3IgYWdlLCBzZXgsIGh5cGVydGVuc2lvbiwgZGlhYmV0ZXMsIHNtb2tpbmcsIExETC1DIGxldmVscywgbGlwaWQtbG93ZXJpbmcgZHJ1Z3MsIGFudGlwbGF0ZWxldCBkcnVncywgZUdGUiwgQk1JLCBoaXN0b3J5IG9mIENWRCwgbGV2ZWwgb2Ygc3Rlbm9zaXMKICAgIGNveCA9IGNveHBoKFN1cnYoVEVNUC5ERlssZXB0aW1lXSwgZXZlbnQpIH4gVEVNUC5ERltbIFRSQUlUUy5QUk9URUlOLlJBTktbcHJvdGVpbl0gXV0rQWdlICsgR2VuZGVyICsgT1JkYXRlX3llYXIgKyBIeXBlcnRlbnNpb24uY29tcG9zaXRlICsgRGlhYmV0ZXNTdGF0dXMgKyBTbW9rZXJTdGF0dXMgKyBNZWQuU3RhdGluLkxMRCArIE1lZC5hbGwuYW50aXBsYXRlbGV0ICsgR0ZSX01EUkQgKyBCTUkgKyBNZWRIeF9DVkQgKyBzdGVub3NlLCBkYXRhID0gVEVNUC5ERikKICAgIGNveHBsb3QgPSBjb3hwaChTdXJ2KFRFTVAuREZbLGVwdGltZV0sIGV2ZW50KSB+IHN0cmF0YShURU1QLkRGW1sgVFJBSVRTLlBST1RFSU4uUkFOS1twcm90ZWluXSBdXSkrQWdlICsgR2VuZGVyICsgT1JkYXRlX3llYXIgKyBIeXBlcnRlbnNpb24uY29tcG9zaXRlICsgRGlhYmV0ZXNTdGF0dXMgKyBTbW9rZXJTdGF0dXMgKyBNZWQuU3RhdGluLkxMRCArIE1lZC5hbGwuYW50aXBsYXRlbGV0ICsgR0ZSX01EUkQgKyBCTUkgKyBNZWRIeF9DVkQgKyBzdGVub3NlLCBkYXRhID0gVEVNUC5ERikKCiAgCiAgICBwbG90KHN1cnZmaXQoY294cGxvdCksIG1haW4gPSBwYXN0ZTAoIkNveCBwcm9wb3J0aW9uYWwgaGF6YXJkIG9mIFsiLGVwLCJdIHBlciBbIixlcHRpbWUsIl0uIiksCiAgICAgICAgICMgeWxpbSA9IGMoMC4yLCAxKSwgeGxpbSA9IGMoMCwzKSwgY29sID0gYygiIzU5NUE1QyIsICIjREIwMDNGIiwgIiMxMjkwRDkiKSwKICAgICAgICAgeWxpbSA9IGMoMCwgMSksIHhsaW0gPSBjKDAsMyksIGNvbCA9IGMoIiNEQjAwM0YiLCAiIzEyOTBEOSIpLAogICAgICAgICBsdHkgPSBjKDEsMiksIGx3ZCA9IDIsCiAgICAgICAgIHlsYWIgPSAiU3V2aXZhbCBwcm9iYWJpbGl0eSIsIHhsYWIgPSAiRlUgdGltZSBbeWVhcnNdIiwKICAgICAgICAgbWFyay50aW1lID0gRkFMU0UsIGF4ZXMgPSBGQUxTRSwgYnR5ID0gIm4iKQogICAgbGVnZW5kKCJ0b3ByaWdodCIsCiAgICAgICAgICAgYygibG93IiwgImhpZ2giKSwKICAgICAgICAgICB0aXRsZSA9IHBhc3RlMCgiIixUUkFJVFMuUFJPVEVJTi5SQU5LW3Byb3RlaW5dLCIiKSwKICAgICAgICAgICBjb2wgPSBjKCIjREIwMDNGIiwgIiMxMjkwRDkiKSwKICAgICAgICAgICBsdHkgPSBjKDEsMiksIGx3ZCA9IDIsCiAgICAgICAgICAgYnR5ID0gIm4iKQogICAgYXhpcyhzaWRlID0gMSwgYXQgPSBzZXEoMCwgMywgYnkgPSAxKSkKICAgIGF4aXMoc2lkZSA9IDIsIGF0ID0gc2VxKDAsIDEsIGJ5ID0gMC4yKSkKICAgIGRldi5jb3B5MnBkZihmaWxlID0gcGFzdGUwKENPWF9sb2MsIi8iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVG9kYXksIi5BRURCLkNFQS5Db3guIixlcCwiLjJHLiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIFRvZGF5LCIuQUVEQi5DRUEuQ294LiIsZXAsIi40Ry4iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVFJBSVRTLlBST1RFSU4uUkFOS1twcm90ZWluXSwiLk1PREVMMi5wZGYiKSwgaGVpZ2h0ID0gMTIsIHdpZHRoID0gMTAsIG9uZWZpbGUgPSBUUlVFKQoKICAgIHNob3coc3VtbWFyeShjb3gpKQoKICAgIGNhdChwYXN0ZTAoIlxuICAgPiB3cml0aW5nIHRoZSBDb3gtcmVncmVzc2lvbiBmYXNoaXp6bGUgdG8gRXhjZWwuLi5cbiIpKQoKICAgIENPWC5yZXN1bHRzLlRFTVAgPC0gZGF0YS5mcmFtZShtYXRyaXgoTkEsIG5jb2wgPSAxMiwgbnJvdyA9IDApKQogICAgQ09YLnJlc3VsdHMuVEVNUFsxLF0gPSBDT1guU1RBVChjb3gsICJBRURCLkNFQSIsIGVwLCBUUkFJVFMuUFJPVEVJTi5SQU5LW3Byb3RlaW5dKQogICAgQ09YLnJlc3VsdHMgPSByYmluZChDT1gucmVzdWx0cywgQ09YLnJlc3VsdHMuVEVNUCkKCiAgfQp9CgpjYXQoIi0gRWRpdCB0aGUgY29sdW1uIG5hbWVzLi4uXG4iKQpjb2xuYW1lcyhDT1gucmVzdWx0cykgPSBjKCJEYXRhc2V0IiwgIk91dGNvbWUiLCAiQ3BHIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAiQmV0YSIsICJzLmUubS4iLAogICAgICAgICAgICAgICAgICAgICAgICAgICJIUiIsICJsb3c5NUNJIiwgInVwOTVDSSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIlotdmFsdWUiLCAiUC12YWx1ZSIsICJTYW1wbGVTaXplIiwgIk5fZXZlbnRzIikKCmNhdCgiLSBDb3JyZWN0IHRoZSB2YXJpYWJsZSB0eXBlcy4uLlxuIikKQ09YLnJlc3VsdHMkQmV0YSA8LSBhcy5udW1lcmljKENPWC5yZXN1bHRzJEJldGEpCkNPWC5yZXN1bHRzJHMuZS5tLiA8LSBhcy5udW1lcmljKENPWC5yZXN1bHRzJHMuZS5tLikKQ09YLnJlc3VsdHMkSFIgPC0gYXMubnVtZXJpYyhDT1gucmVzdWx0cyRIUikKQ09YLnJlc3VsdHMkbG93OTVDSSA8LSBhcy5udW1lcmljKENPWC5yZXN1bHRzJGxvdzk1Q0kpCkNPWC5yZXN1bHRzJHVwOTVDSSA8LSBhcy5udW1lcmljKENPWC5yZXN1bHRzJHVwOTVDSSkKQ09YLnJlc3VsdHMkYFotdmFsdWVgIDwtIGFzLm51bWVyaWMoQ09YLnJlc3VsdHMkYFotdmFsdWVgKQpDT1gucmVzdWx0cyRgUC12YWx1ZWAgPC0gYXMubnVtZXJpYyhDT1gucmVzdWx0cyRgUC12YWx1ZWApCkNPWC5yZXN1bHRzJFNhbXBsZVNpemUgPC0gYXMubnVtZXJpYyhDT1gucmVzdWx0cyRTYW1wbGVTaXplKQpDT1gucmVzdWx0cyROX2V2ZW50cyA8LSBhcy5udW1lcmljKENPWC5yZXN1bHRzJE5fZXZlbnRzKQoKQUVEQi5DRUEuQ09YLnJlc3VsdHMgPC0gQ09YLnJlc3VsdHMKCiMgU2F2ZSB0aGUgZGF0YQpjYXQoIi0gV3JpdGluZyByZXN1bHRzIHRvIEV4Y2VsLWZpbGUuLi5cbiIpCmhlYWQuc3R5bGUgPC0gY3JlYXRlU3R5bGUodGV4dERlY29yYXRpb24gPSAiQk9MRCIpCndyaXRlLnhsc3goQUVEQi5DRUEuQ09YLnJlc3VsdHMsCiAgICAgICAgICAgZmlsZSA9IHBhc3RlMChPVVRfbG9jLCAiLyIsVG9kYXksIi5BRURCLkNFQS5Db3guMkcuTU9ERUwyLnhsc3giKSwKICAgICAgICAgICBjcmVhdG9yID0gIlNhbmRlciBXLiB2YW4gZGVyIExhYW4iLAogICAgICAgICAgIHNoZWV0TmFtZSA9ICJSZXN1bHRzIiwgaGVhZGVyU3R5bGUgPSBoZWFkLnN0eWxlLAogICAgICAgICAgIHJvdy5uYW1lcyA9IEZBTFNFLCBjb2wubmFtZXMgPSBUUlVFLCBvdmVyd3JpdGUgPSBUUlVFKQoKIyBSZW1vdmluZyBpbnRlcm1lZGlhdGVzCmNhdCgiLSBSZW1vdmluZyBpbnRlcm1lZGlhdGUgZmlsZXMuLi5cbiIpCnJtKFRFTVAuREYsIHByb3RlaW4sIGZpdCwgY294LCBjb3hwbG90LCBDT1gucmVzdWx0cywgQ09YLnJlc3VsdHMuVEVNUCwgaGVhZC5zdHlsZSwgQUVEQi5DRUEuQ09YLnJlc3VsdHMpCgpybShoZWFkLnN0eWxlKQoKYGBgCgoKIyMjIyAzMC1kYXlzIGZvbGxvdy11cAoKKk1PREVMIDEqCmBgYHtyIENveC1yZWdyZXNzaW9uIEFuYWx5c2lzOiBTaW1wbGUgbW9kZWwsIDMwIGRheXN9CiMgU2V0IHVwIGEgZGF0YWZyYW1lIHRvIHJlY2VpdmUgcmVzdWx0cwpDT1gucmVzdWx0cyA8LSBkYXRhLmZyYW1lKG1hdHJpeChOQSwgbmNvbCA9IDEyLCBucm93ID0gMCkpCgojIExvb3Bpbmcgb3ZlciBlYWNoIHByb3RlaW4vZW5kcG9pbnQvdGltZSBjb21iaW5hdGlvbgpmb3IgKGkgaW4gMTpsZW5ndGgodGltZXMzMCkpewogIGVwdGltZSA9IHRpbWVzMzBbaV0KICBlcCA9IGVuZHBvaW50czMwW2ldCiAgY2F0KHBhc3RlMCgiKiBBbmFseXppbmcgdGhlIGVmZmVjdCBvZiBwbGFxdWUgcHJvdGVpbnMgb24gWyIsZXAsIl0uXG4iKSkKICBjYXQoIiAtIGNyZWF0aW5nIHRlbXBvcmFyeSBTRSBmb3IgdGhpcyB3b3JrLlxuIikKICBURU1QLkRGID0gYXMuZGF0YS5mcmFtZShBRURCLkNFQSkKICBjYXQoIiAtIG1ha2luZyBhICdTdXJ2JyBvYmplY3QgYW5kIGFkZGluZyB0aGlzIHRvIHRlbXBvcmFyeSBkYXRhZnJhbWUuXG4iKQogIFRFTVAuREYkZXZlbnQgPC0gYXMuaW50ZWdlcihURU1QLkRGWyxlcF0pCiAgVEVNUC5ERiR5IDwtIFN1cnYodGltZSA9IFRFTVAuREZbLGVwdGltZV0sIGV2ZW50ID0gVEVNUC5ERiRldmVudCkKICBjYXQoIiAtIG1ha2luZyBzdHJhdGEgb2YgZWFjaCBvZiB0aGUgcGxhcXVlIHByb3RlaW5zIGFuZCBzdGFydCBzdXJ2aXZhbCBhbmFseXNpcy5cbiIpCiAgCiAgZm9yIChwcm90ZWluIGluIDE6bGVuZ3RoKFRSQUlUUy5QUk9URUlOLlJBTkspKXsKICAgIGNhdChwYXN0ZTAoIiAgID4gcHJvY2Vzc2luZyBbIixUUkFJVFMuUFJPVEVJTi5SQU5LW3Byb3RlaW5dLCJdOyAiLHByb3RlaW4sIiBvdXQgb2YgIixsZW5ndGgoVFJBSVRTLlBST1RFSU4uUkFOSyksIiBwcm90ZWlucy5cbiIpKQogICAgIyBzcGxpdHRpbmcgaW50byB0d28gZ3JvdXBzCiAgICBURU1QLkRGW1sgVFJBSVRTLlBST1RFSU4uUkFOS1twcm90ZWluXSBdXSA8LSBjdXQyKFRFTVAuREZbLFRSQUlUUy5QUk9URUlOLlJBTktbcHJvdGVpbl1dLCBnID0gMikKICAgIGNhdChwYXN0ZTAoIiAgID4gY3Jvc3MgdGFidWxhdGlvbiBvZiAiLFRSQUlUUy5QUk9URUlOLlJBTktbcHJvdGVpbl0sIi1zdHJhdHVtLlxuIikpCiAgICBzaG93KHRhYmxlKFRFTVAuREZbWyBUUkFJVFMuUFJPVEVJTi5SQU5LW3Byb3RlaW5dIF1dKSkKICAgIAogICAgY2F0KHBhc3RlMCgiXG4gICA+IGZpdHRpbmcgdGhlIG1vZGVsIGZvciAiLFRSQUlUUy5QUk9URUlOLlJBTktbcHJvdGVpbl0sIi1zdHJhdHVtLlxuIikpCiAgICBmaXQgPC0gc3VydmZpdChhcy5mb3JtdWxhKHBhc3RlMCgieSB+ICIsIFRSQUlUUy5QUk9URUlOLlJBTktbcHJvdGVpbl0pKSwgZGF0YSA9IFRFTVAuREYpCiAgICAKICAgIGNhdChwYXN0ZTAoIlxuICAgPiBtYWtlIGEgS2FwbGFuLU1laWVyLXNoaXp6bGUuLi5cbiIpKQogICAgIyBtYWtlIEthcGxhbi1NZWllciBjdXJ2ZSBhbmQgc2F2ZSBpdAogICAgc2hvdyhnZ3N1cnZwbG90KGZpdCwgZGF0YSA9IFRFTVAuREYsCiAgICAgICAgICAgICAgICAgICAgcGFsZXR0ZSA9IGMoIiNEQjAwM0YiLCAiIzEyOTBEOSIpLAogICAgICAgICAgICAgICAgICAgICMgcGFsZXRlID0gYygiRjU5RDEwIiwgIiNEQjAwM0YiLCAiIzQ5QTAxRCIsICIjMTI5MEQ5IiksCiAgICAgICAgICAgICAgICAgICAgbGluZXR5cGUgPSBjKDEsMiksCiAgICAgICAgICAgICAgICAgICAgeWxpbSA9IGMoMC43NSwgMSksCiAgICAgICAgICAgICAgICAgICAgIyBsaW5ldHlwZSA9IGMoMSwyLDMsNCksCiAgICAgICAgICAgICAgICAgICAgIyBjb25mLmludCA9IEZBTFNFLCBjb25mLmludC5maWxsID0gIiM1OTVBNUMiLCBjb25mLmludC5hbHBoYSA9IDAuMSwKICAgICAgICAgICAgICAgICAgICBwdmFsID0gRkFMU0UsIHB2YWwubWV0aG9kID0gRkFMU0UsIHB2YWwuc2l6ZSA9IDQsCiAgICAgICAgICAgICAgICAgICAgcmlzay50YWJsZSA9IFRSVUUsIHJpc2sudGFibGUueS50ZXh0ID0gRkFMU0UsIHRhYmxlcy55LnRleHQuY29sID0gVFJVRSwgZm9udHNpemUgPSA0LAogICAgICAgICAgICAgICAgICAgIGNlbnNvciA9IEZBTFNFLAogICAgICAgICAgICAgICAgICAgIGxlZ2VuZCA9ICJyaWdodCIsCiAgICAgICAgICAgICAgICAgICAgbGVnZW5kLnRpdGxlID0gcGFzdGUwKCIiLFRSQUlUUy5QUk9URUlOLlJBTktbcHJvdGVpbl0sIiIpLAogICAgICAgICAgICAgICAgICAgIGxlZ2VuZC5sYWJzID0gYygibG93IiwgImhpZ2giKSwKICAgICAgICAgICAgICAgICAgICB0aXRsZSA9IHBhc3RlMCgiUmlzayBvZiAiLGVwLCIiKSwgeGxhYiA9ICJUaW1lIFtkYXlzXSIsIGZvbnQubWFpbiA9IGMoMTYsICJib2xkIiwgImJsYWNrIikpKQogICAgZGV2LmNvcHkycGRmKGZpbGUgPSBwYXN0ZTAoQ09YX2xvYywiLyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUb2RheSwiLkFFREIuQ0VBLnN1cnZpdmFsLiIsZXAsIi4yRy4iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVFJBSVRTLlBST1RFSU4uUkFOS1twcm90ZWluXSwiLjMwZGF5cy5wZGYiKSwgd2lkdGggPSAxMiwgaGVpZ2h0ID0gMTAsIG9uZWZpbGUgPSBGQUxTRSkKCiAgICBjYXQocGFzdGUwKCJcbiAgID4gcGVyZm9ybSB0aGUgQ294LXJlZ3Jlc3Npb24gZmFzaGl6emxlIGFuZCBwbG90IGl0Li4uXG4iKSkKICAgICMjIyBEbyBDb3gtcmVncmVzc2lvbiBhbmQgcGxvdCBpdAogICAgCiAgICAjIyMgTU9ERUwgMSAoU2ltcGxlIG1vZGVsKQogICAgY294ID0gY294cGgoU3VydihURU1QLkRGWyxlcHRpbWVdLCBldmVudCkgfiBURU1QLkRGW1sgVFJBSVRTLlBST1RFSU4uUkFOS1twcm90ZWluXSBdXStBZ2UrR2VuZGVyICsgT1JkYXRlX3llYXIsIGRhdGEgPSBURU1QLkRGKQogICAgY294cGxvdCA9IGNveHBoKFN1cnYoVEVNUC5ERlssZXB0aW1lXSwgZXZlbnQpIH4gc3RyYXRhKFRFTVAuREZbWyBUUkFJVFMuUFJPVEVJTi5SQU5LW3Byb3RlaW5dIF1dKStBZ2UrR2VuZGVyICsgT1JkYXRlX3llYXIsIGRhdGEgPSBURU1QLkRGKQoKICAgIHBsb3Qoc3VydmZpdChjb3hwbG90KSwgbWFpbiA9IHBhc3RlMCgiQ294IHByb3BvcnRpb25hbCBoYXphcmQgb2YgWyIsZXAsIl0gcGVyIFsiLGVwdGltZSwiXS4iKSwKICAgICAgICAgeWxpbSA9IGMoMC43NSwgMSksIHhsaW0gPSBjKDAsMyksIGNvbCA9IGMoIiM1OTVBNUMiLCAiI0RCMDAzRiIsICIjMTI5MEQ5IiksCiAgICAgICAgICMgeWxpbSA9IGMoMCwgMSksIHhsaW0gPSBjKDAsMyksIGNvbCA9IGMoIiNEQjAwM0YiLCAiIzEyOTBEOSIpLAogICAgICAgICBsdHkgPSBjKDEsMiksIGx3ZCA9IDIsCiAgICAgICAgIHlsYWIgPSAiU3V2aXZhbCBwcm9iYWJpbGl0eSIsIHhsYWIgPSAiRlUgdGltZSBbZGF5c10iLAogICAgICAgICBtYXJrLnRpbWUgPSBGQUxTRSwgYXhlcyA9IEZBTFNFLCBidHkgPSAibiIpCiAgICBsZWdlbmQoInRvcHJpZ2h0IiwKICAgICAgICAgICBjKCJsb3ciLCAiaGlnaCIpLAogICAgICAgICAgIHRpdGxlID0gcGFzdGUwKCIiLFRSQUlUUy5QUk9URUlOLlJBTktbcHJvdGVpbl0sIiIpLAogICAgICAgICAgIGNvbCA9IGMoIiNEQjAwM0YiLCAiIzEyOTBEOSIpLAogICAgICAgICAgIGx0eSA9IGMoMSwyKSwgbHdkID0gMiwKICAgICAgICAgICBidHkgPSAibiIpCiAgICBheGlzKHNpZGUgPSAxLCBhdCA9IHNlcSgwLCAzLCBieSA9IDEpKQogICAgYXhpcyhzaWRlID0gMiwgYXQgPSBzZXEoMCwgMSwgYnkgPSAwLjIpKQogICAgZGV2LmNvcHkycGRmKGZpbGUgPSBwYXN0ZTAoQ09YX2xvYywiLyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUb2RheSwiLkFFREIuQ0VBLkNveC4iLGVwLCIuMkcuIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgVG9kYXksIi5BRURCLkNFQS5Db3guIixlcCwiLjRHLiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUUkFJVFMuUFJPVEVJTi5SQU5LW3Byb3RlaW5dLCIuTU9ERUwxLjMwZGF5cy5wZGYiKSwgaGVpZ2h0ID0gMTIsIHdpZHRoID0gMTAsIG9uZWZpbGUgPSBUUlVFKQogICAgc2hvdyhzdW1tYXJ5KGNveCkpCgogICAgY2F0KHBhc3RlMCgiXG4gICA+IHdyaXRpbmcgdGhlIENveC1yZWdyZXNzaW9uIGZhc2hpenpsZSB0byBFeGNlbC4uLlxuIikpCgogICAgQ09YLnJlc3VsdHMuVEVNUCA8LSBkYXRhLmZyYW1lKG1hdHJpeChOQSwgbmNvbCA9IDEyLCBucm93ID0gMCkpCiAgICBDT1gucmVzdWx0cy5URU1QWzEsXSA9IENPWC5TVEFUKGNveCwgIkFFREIuQ0VBIiwgZXAsIFRSQUlUUy5QUk9URUlOLlJBTktbcHJvdGVpbl0pCiAgICBDT1gucmVzdWx0cyA9IHJiaW5kKENPWC5yZXN1bHRzLCBDT1gucmVzdWx0cy5URU1QKQoKICB9Cn0KCmNhdCgiLSBFZGl0IHRoZSBjb2x1bW4gbmFtZXMuLi5cbiIpCmNvbG5hbWVzKENPWC5yZXN1bHRzKSA9IGMoIkRhdGFzZXQiLCAiT3V0Y29tZSIsICJDcEciLAogICAgICAgICAgICAgICAgICAgICAgICAgICJCZXRhIiwgInMuZS5tLiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIkhSIiwgImxvdzk1Q0kiLCAidXA5NUNJIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAiWi12YWx1ZSIsICJQLXZhbHVlIiwgIlNhbXBsZVNpemUiLCAiTl9ldmVudHMiKQoKY2F0KCItIENvcnJlY3QgdGhlIHZhcmlhYmxlIHR5cGVzLi4uXG4iKQpDT1gucmVzdWx0cyRCZXRhIDwtIGFzLm51bWVyaWMoQ09YLnJlc3VsdHMkQmV0YSkKQ09YLnJlc3VsdHMkcy5lLm0uIDwtIGFzLm51bWVyaWMoQ09YLnJlc3VsdHMkcy5lLm0uKQpDT1gucmVzdWx0cyRIUiA8LSBhcy5udW1lcmljKENPWC5yZXN1bHRzJEhSKQpDT1gucmVzdWx0cyRsb3c5NUNJIDwtIGFzLm51bWVyaWMoQ09YLnJlc3VsdHMkbG93OTVDSSkKQ09YLnJlc3VsdHMkdXA5NUNJIDwtIGFzLm51bWVyaWMoQ09YLnJlc3VsdHMkdXA5NUNJKQpDT1gucmVzdWx0cyRgWi12YWx1ZWAgPC0gYXMubnVtZXJpYyhDT1gucmVzdWx0cyRgWi12YWx1ZWApCkNPWC5yZXN1bHRzJGBQLXZhbHVlYCA8LSBhcy5udW1lcmljKENPWC5yZXN1bHRzJGBQLXZhbHVlYCkKQ09YLnJlc3VsdHMkU2FtcGxlU2l6ZSA8LSBhcy5udW1lcmljKENPWC5yZXN1bHRzJFNhbXBsZVNpemUpCkNPWC5yZXN1bHRzJE5fZXZlbnRzIDwtIGFzLm51bWVyaWMoQ09YLnJlc3VsdHMkTl9ldmVudHMpCgpBRURCLkNFQS5DT1gucmVzdWx0cyA8LSBDT1gucmVzdWx0cwoKIyBTYXZlIHRoZSBkYXRhCmxpYnJhcnkob3Blbnhsc3gpCmNhdCgiLSBXcml0aW5nIHJlc3VsdHMgdG8gRXhjZWwtZmlsZS4uLlxuIikKaGVhZC5zdHlsZSA8LSBjcmVhdGVTdHlsZSh0ZXh0RGVjb3JhdGlvbiA9ICJCT0xEIikKd3JpdGUueGxzeChBRURCLkNFQS5DT1gucmVzdWx0cywKICAgICAgICAgICBmaWxlID0gcGFzdGUwKE9VVF9sb2MsICIvIixUb2RheSwiLkFFREIuQ0VBLkNveC4yRy5NT0RFTDEuMzBkYXlzLnhsc3giKSwKICAgICAgICAgICBjcmVhdG9yID0gIlNhbmRlciBXLiB2YW4gZGVyIExhYW4iLAogICAgICAgICAgIHNoZWV0TmFtZSA9ICJSZXN1bHRzIiwgaGVhZGVyU3R5bGUgPSBoZWFkLnN0eWxlLAogICAgICAgICAgIHJvdy5uYW1lcyA9IEZBTFNFLCBjb2wubmFtZXMgPSBUUlVFLCBvdmVyd3JpdGUgPSBUUlVFKQoKIyBSZW1vdmluZyBpbnRlcm1lZGlhdGVzCmNhdCgiLSBSZW1vdmluZyBpbnRlcm1lZGlhdGUgZmlsZXMuLi5cbiIpCiNybShURU1QLkRGLCBwcm90ZWluLCBmaXQsIGNveCwgY294cGxvdCwgQ09YLnJlc3VsdHMsIENPWC5yZXN1bHRzLlRFTVAsIGhlYWQuc3R5bGUsIEFFREIuQ0VBLkNPWC5yZXN1bHRzKQoKI3JtKGhlYWQuc3R5bGUpCgpgYGAKCipNT0RFTCAyKgpgYGB7ciBDb3gtcmVncmVzc2lvbiBBbmFseXNpczogTU9ERUwgMiwgMzAgZGF5c30KIyBTZXQgdXAgYSBkYXRhZnJhbWUgdG8gcmVjZWl2ZSByZXN1bHRzCkNPWC5yZXN1bHRzIDwtIGRhdGEuZnJhbWUobWF0cml4KE5BLCBuY29sID0gMTIsIG5yb3cgPSAwKSkKCiMgTG9vcGluZyBvdmVyIGVhY2ggcHJvdGVpbi9lbmRwb2ludC90aW1lIGNvbWJpbmF0aW9uCmZvciAoaSBpbiAxOmxlbmd0aCh0aW1lczMwKSl7CiAgZXB0aW1lID0gdGltZXMzMFtpXQogIGVwID0gZW5kcG9pbnRzMzBbaV0KICBjYXQocGFzdGUwKCIqIEFuYWx5emluZyB0aGUgZWZmZWN0IG9mIHBsYXF1ZSBwcm90ZWlucyBvbiBbIixlcCwiXS5cbiIpKQogIGNhdCgiIC0gY3JlYXRpbmcgdGVtcG9yYXJ5IFNFIGZvciB0aGlzIHdvcmsuXG4iKQogIFRFTVAuREYgPSBhcy5kYXRhLmZyYW1lKEFFREIuQ0VBKQogIGNhdCgiIC0gbWFraW5nIGEgJ1N1cnYnIG9iamVjdCBhbmQgYWRkaW5nIHRoaXMgdG8gdGVtcG9yYXJ5IGRhdGFmcmFtZS5cbiIpCiAgVEVNUC5ERiRldmVudCA8LSBhcy5pbnRlZ2VyKFRFTVAuREZbLGVwXSkKICAjYXMuaW50ZWdlcihURU1QLkRGWyxlcF0gPT0gIkV4Y2x1ZGVkIikKCiAgVEVNUC5ERiR5IDwtIFN1cnYodGltZSA9IFRFTVAuREZbLGVwdGltZV0sIGV2ZW50ID0gVEVNUC5ERiRldmVudCkKICBjYXQoIiAtIG1ha2luZyBzdHJhdGEgb2YgZWFjaCBvZiB0aGUgcGxhcXVlIHByb3RlaW5zIGFuZCBzdGFydCBzdXJ2aXZhbCBhbmFseXNpcy5cbiIpCiAgCiAgZm9yIChwcm90ZWluIGluIDE6bGVuZ3RoKFRSQUlUUy5QUk9URUlOLlJBTkspKXsKICAgIGNhdChwYXN0ZTAoIiAgID4gcHJvY2Vzc2luZyBbIixUUkFJVFMuUFJPVEVJTi5SQU5LW3Byb3RlaW5dLCJdOyAiLHByb3RlaW4sIiBvdXQgb2YgIixsZW5ndGgoVFJBSVRTLlBST1RFSU4uUkFOSyksIiBwcm90ZWlucy5cbiIpKQogICAgIyBzcGxpdHRpbmcgaW50byB0d28gZ3JvdXBzCiAgICBURU1QLkRGW1sgVFJBSVRTLlBST1RFSU4uUkFOS1twcm90ZWluXSBdXSA8LSBjdXQyKFRFTVAuREZbLFRSQUlUUy5QUk9URUlOLlJBTktbcHJvdGVpbl1dLCBnID0gMikKICAgIGNhdChwYXN0ZTAoIiAgID4gY3Jvc3MgdGFidWxhdGlvbiBvZiAiLFRSQUlUUy5QUk9URUlOLlJBTktbcHJvdGVpbl0sIi1zdHJhdHVtLlxuIikpCiAgICBzaG93KHRhYmxlKFRFTVAuREZbWyBUUkFJVFMuUFJPVEVJTi5SQU5LW3Byb3RlaW5dIF1dKSkKICAgIAogICAgY2F0KHBhc3RlMCgiXG4gICA+IGZpdHRpbmcgdGhlIG1vZGVsIGZvciAiLFRSQUlUUy5QUk9URUlOLlJBTktbcHJvdGVpbl0sIi1zdHJhdHVtLlxuIikpCiAgICBmaXQgPC0gc3VydmZpdChhcy5mb3JtdWxhKHBhc3RlMCgieSB+ICIsIFRSQUlUUy5QUk9URUlOLlJBTktbcHJvdGVpbl0pKSwgZGF0YSA9IFRFTVAuREYpCiAgICAKICAgIGNhdChwYXN0ZTAoIlxuICAgPiBtYWtlIGEgS2FwbGFuLU1laWVyLXNoaXp6bGUuLi5cbiIpKQogICAgIyBtYWtlIEthcGxhbi1NZWllciBjdXJ2ZSBhbmQgc2F2ZSBpdAogICAgc2hvdyhnZ3N1cnZwbG90KGZpdCwgZGF0YSA9IFRFTVAuREYsCiAgICAgICAgICAgICAgICAgICAgcGFsZXR0ZSA9IGMoIiNEQjAwM0YiLCAiIzEyOTBEOSIpLAogICAgICAgICAgICAgICAgICAgICMgcGFsZXRlID0gYygiRjU5RDEwIiwgIiNEQjAwM0YiLCAiIzQ5QTAxRCIsICIjMTI5MEQ5IiksCiAgICAgICAgICAgICAgICAgICAgbGluZXR5cGUgPSBjKDEsMiksCiAgICAgICAgICAgICAgICAgICAgeWxpbSA9IGMoMC43NSwgMSksCiAgICAgICAgICAgICAgICAgICAgIyBsaW5ldHlwZSA9IGMoMSwyLDMsNCksCiAgICAgICAgICAgICAgICAgICAgIyBjb25mLmludCA9IEZBTFNFLCBjb25mLmludC5maWxsID0gIiM1OTVBNUMiLCBjb25mLmludC5hbHBoYSA9IDAuMSwKICAgICAgICAgICAgICAgICAgICBwdmFsID0gRkFMU0UsIHB2YWwubWV0aG9kID0gRkFMU0UsIHB2YWwuc2l6ZSA9IDQsCiAgICAgICAgICAgICAgICAgICAgcmlzay50YWJsZSA9IFRSVUUsIHJpc2sudGFibGUueS50ZXh0ID0gRkFMU0UsIHRhYmxlcy55LnRleHQuY29sID0gVFJVRSwgZm9udHNpemUgPSA0LAogICAgICAgICAgICAgICAgICAgIGNlbnNvciA9IEZBTFNFLAogICAgICAgICAgICAgICAgICAgIGxlZ2VuZCA9ICJyaWdodCIsCiAgICAgICAgICAgICAgICAgICAgbGVnZW5kLnRpdGxlID0gcGFzdGUwKCIiLFRSQUlUUy5QUk9URUlOLlJBTktbcHJvdGVpbl0sIiIpLAogICAgICAgICAgICAgICAgICAgIGxlZ2VuZC5sYWJzID0gYygibG93IiwgImhpZ2giKSwKICAgICAgICAgICAgICAgICAgICB0aXRsZSA9IHBhc3RlMCgiUmlzayBvZiAiLGVwLCIiKSwgeGxhYiA9ICJUaW1lIFtkYXlzXSIsIGZvbnQubWFpbiA9IGMoMTYsICJib2xkIiwgImJsYWNrIikpKQogICAgZGV2LmNvcHkycGRmKGZpbGUgPSBwYXN0ZTAoQ09YX2xvYywiLyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUb2RheSwiLkFFREIuQ0VBLnN1cnZpdmFsLiIsZXAsIi4yRy4iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVFJBSVRTLlBST1RFSU4uUkFOS1twcm90ZWluXSwiLjMwZGF5cy5wZGYiKSwgd2lkdGggPSAxMiwgaGVpZ2h0ID0gMTAsIG9uZWZpbGUgPSBGQUxTRSkKCiAgICBjYXQocGFzdGUwKCJcbiAgID4gcGVyZm9ybSB0aGUgQ294LXJlZ3Jlc3Npb24gZmFzaGl6emxlIGFuZCBwbG90IGl0Li4uXG4iKSkKICAgICMjIyBEbyBDb3gtcmVncmVzc2lvbiBhbmQgcGxvdCBpdAogICAgCiAgICAjIyMgTU9ERUwgMiBhZGp1c3RlZCBmb3IgYWdlLCBzZXgsIGh5cGVydGVuc2lvbiwgZGlhYmV0ZXMsIHNtb2tpbmcsIExETC1DIGxldmVscywgbGlwaWQtbG93ZXJpbmcgZHJ1Z3MsIGFudGlwbGF0ZWxldCBkcnVncywgZUdGUiwgQk1JLCBoaXN0b3J5IG9mIENWRCwgbGV2ZWwgb2Ygc3Rlbm9zaXMKICAgIGNveCA9IGNveHBoKFN1cnYoVEVNUC5ERlssZXB0aW1lXSwgZXZlbnQpIH4gVEVNUC5ERltbIFRSQUlUUy5QUk9URUlOLlJBTktbcHJvdGVpbl0gXV0rQWdlICsgR2VuZGVyICsgT1JkYXRlX3llYXIgKyBIeXBlcnRlbnNpb24uY29tcG9zaXRlICsgRGlhYmV0ZXNTdGF0dXMgKyBTbW9rZXJTdGF0dXMgKyBNZWQuU3RhdGluLkxMRCArIE1lZC5hbGwuYW50aXBsYXRlbGV0ICsgR0ZSX01EUkQgKyBCTUkgKyBNZWRIeF9DVkQgKyBzdGVub3NlLCBkYXRhID0gVEVNUC5ERikKICAgIGNveHBsb3QgPSBjb3hwaChTdXJ2KFRFTVAuREZbLGVwdGltZV0sIGV2ZW50KSB+IHN0cmF0YShURU1QLkRGW1sgVFJBSVRTLlBST1RFSU4uUkFOS1twcm90ZWluXSBdXSkrQWdlICsgR2VuZGVyICsgT1JkYXRlX3llYXIgKyBIeXBlcnRlbnNpb24uY29tcG9zaXRlICsgRGlhYmV0ZXNTdGF0dXMgKyBTbW9rZXJTdGF0dXMgKyBNZWQuU3RhdGluLkxMRCArIE1lZC5hbGwuYW50aXBsYXRlbGV0ICsgR0ZSX01EUkQgKyBCTUkgKyBNZWRIeF9DVkQgKyBzdGVub3NlLCBkYXRhID0gVEVNUC5ERikKCiAgCiAgICBwbG90KHN1cnZmaXQoY294cGxvdCksIG1haW4gPSBwYXN0ZTAoIkNveCBwcm9wb3J0aW9uYWwgaGF6YXJkIG9mIFsiLGVwLCJdIHBlciBbIixlcHRpbWUsIl0uIiksCiAgICAgICAgIHlsaW0gPSBjKDAuNzUsIDEpLCB4bGltID0gYygwLDMpLCBjb2wgPSBjKCIjREIwMDNGIiwgIiMxMjkwRDkiKSwKICAgICAgICAgIyB5bGltID0gYygwLCAxKSwgeGxpbSA9IGMoMCwzKSwgY29sID0gYygiI0RCMDAzRiIsICIjMTI5MEQ5IiksCiAgICAgICAgIGx0eSA9IGMoMSwyKSwgbHdkID0gMiwKICAgICAgICAgeWxhYiA9ICJTdXZpdmFsIHByb2JhYmlsaXR5IiwgeGxhYiA9ICJGVSB0aW1lIFtkYXlzXSIsCiAgICAgICAgIG1hcmsudGltZSA9IEZBTFNFLCBheGVzID0gRkFMU0UsIGJ0eSA9ICJuIikKICAgIGxlZ2VuZCgidG9wcmlnaHQiLAogICAgICAgICAgIGMoImxvdyIsICJoaWdoIiksCiAgICAgICAgICAgdGl0bGUgPSBwYXN0ZTAoIiIsVFJBSVRTLlBST1RFSU4uUkFOS1twcm90ZWluXSwiIiksCiAgICAgICAgICAgY29sID0gYygiI0RCMDAzRiIsICIjMTI5MEQ5IiksCiAgICAgICAgICAgbHR5ID0gYygxLDIpLCBsd2QgPSAyLAogICAgICAgICAgIGJ0eSA9ICJuIikKICAgIGF4aXMoc2lkZSA9IDEsIGF0ID0gc2VxKDAsIDMsIGJ5ID0gMSkpCiAgICBheGlzKHNpZGUgPSAyLCBhdCA9IHNlcSgwLCAxLCBieSA9IDAuMikpCiAgICBkZXYuY29weTJwZGYoZmlsZSA9IHBhc3RlMChDT1hfbG9jLCIvIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRvZGF5LCIuQUVEQi5DRUEuQ294LiIsZXAsIi4yRy4iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBUb2RheSwiLkFFREIuQ0VBLkNveC4iLGVwLCIuNEcuIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRSQUlUUy5QUk9URUlOLlJBTktbcHJvdGVpbl0sIi5NT0RFTDIuMzBkYXlzLnBkZiIpLCBoZWlnaHQgPSAxMiwgd2lkdGggPSAxMCwgb25lZmlsZSA9IFRSVUUpCgogICAgc2hvdyhzdW1tYXJ5KGNveCkpCgogICAgY2F0KHBhc3RlMCgiXG4gICA+IHdyaXRpbmcgdGhlIENveC1yZWdyZXNzaW9uIGZhc2hpenpsZSB0byBFeGNlbC4uLlxuIikpCgogICAgQ09YLnJlc3VsdHMuVEVNUCA8LSBkYXRhLmZyYW1lKG1hdHJpeChOQSwgbmNvbCA9IDEyLCBucm93ID0gMCkpCiAgICBDT1gucmVzdWx0cy5URU1QWzEsXSA9IENPWC5TVEFUKGNveCwgIkFFREIuQ0VBIiwgZXAsIFRSQUlUUy5QUk9URUlOLlJBTktbcHJvdGVpbl0pCiAgICBDT1gucmVzdWx0cyA9IHJiaW5kKENPWC5yZXN1bHRzLCBDT1gucmVzdWx0cy5URU1QKQoKICB9Cn0KCmNhdCgiLSBFZGl0IHRoZSBjb2x1bW4gbmFtZXMuLi5cbiIpCmNvbG5hbWVzKENPWC5yZXN1bHRzKSA9IGMoIkRhdGFzZXQiLCAiT3V0Y29tZSIsICJDcEciLAogICAgICAgICAgICAgICAgICAgICAgICAgICJCZXRhIiwgInMuZS5tLiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIkhSIiwgImxvdzk1Q0kiLCAidXA5NUNJIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAiWi12YWx1ZSIsICJQLXZhbHVlIiwgIlNhbXBsZVNpemUiLCAiTl9ldmVudHMiKQoKY2F0KCItIENvcnJlY3QgdGhlIHZhcmlhYmxlIHR5cGVzLi4uXG4iKQpDT1gucmVzdWx0cyRCZXRhIDwtIGFzLm51bWVyaWMoQ09YLnJlc3VsdHMkQmV0YSkKQ09YLnJlc3VsdHMkcy5lLm0uIDwtIGFzLm51bWVyaWMoQ09YLnJlc3VsdHMkcy5lLm0uKQpDT1gucmVzdWx0cyRIUiA8LSBhcy5udW1lcmljKENPWC5yZXN1bHRzJEhSKQpDT1gucmVzdWx0cyRsb3c5NUNJIDwtIGFzLm51bWVyaWMoQ09YLnJlc3VsdHMkbG93OTVDSSkKQ09YLnJlc3VsdHMkdXA5NUNJIDwtIGFzLm51bWVyaWMoQ09YLnJlc3VsdHMkdXA5NUNJKQpDT1gucmVzdWx0cyRgWi12YWx1ZWAgPC0gYXMubnVtZXJpYyhDT1gucmVzdWx0cyRgWi12YWx1ZWApCkNPWC5yZXN1bHRzJGBQLXZhbHVlYCA8LSBhcy5udW1lcmljKENPWC5yZXN1bHRzJGBQLXZhbHVlYCkKQ09YLnJlc3VsdHMkU2FtcGxlU2l6ZSA8LSBhcy5udW1lcmljKENPWC5yZXN1bHRzJFNhbXBsZVNpemUpCkNPWC5yZXN1bHRzJE5fZXZlbnRzIDwtIGFzLm51bWVyaWMoQ09YLnJlc3VsdHMkTl9ldmVudHMpCgpBRURCLkNFQS5DT1gucmVzdWx0cyA8LSBDT1gucmVzdWx0cwoKIyBTYXZlIHRoZSBkYXRhCmNhdCgiLSBXcml0aW5nIHJlc3VsdHMgdG8gRXhjZWwtZmlsZS4uLlxuIikKaGVhZC5zdHlsZSA8LSBjcmVhdGVTdHlsZSh0ZXh0RGVjb3JhdGlvbiA9ICJCT0xEIikKd3JpdGUueGxzeChBRURCLkNFQS5DT1gucmVzdWx0cywKICAgICAgICAgICBmaWxlID0gcGFzdGUwKE9VVF9sb2MsICIvIixUb2RheSwiLkFFREIuQ0VBLkNveC4yRy5NT0RFTDIuMzBkYXlzLnhsc3giKSwKICAgICAgICAgICBjcmVhdG9yID0gIlNhbmRlciBXLiB2YW4gZGVyIExhYW4iLAogICAgICAgICAgIHNoZWV0TmFtZSA9ICJSZXN1bHRzIiwgaGVhZGVyU3R5bGUgPSBoZWFkLnN0eWxlLAogICAgICAgICAgIHJvdy5uYW1lcyA9IEZBTFNFLCBjb2wubmFtZXMgPSBUUlVFLCBvdmVyd3JpdGUgPSBUUlVFKQoKIyBSZW1vdmluZyBpbnRlcm1lZGlhdGVzCmNhdCgiLSBSZW1vdmluZyBpbnRlcm1lZGlhdGUgZmlsZXMuLi5cbiIpCnJtKFRFTVAuREYsIHByb3RlaW4sIGZpdCwgY294LCBjb3hwbG90LCBDT1gucmVzdWx0cywgQ09YLnJlc3VsdHMuVEVNUCwgaGVhZC5zdHlsZSwgQUVEQi5DRUEuQ09YLnJlc3VsdHMpCgpybShoZWFkLnN0eWxlKQoKYGBgCgoKIyMjIyA5MC1kYXlzIGZvbGxvdy11cAoKKk1PREVMIDEqCmBgYHtyIENveC1yZWdyZXNzaW9uIEFuYWx5c2lzOiBTaW1wbGUgbW9kZWwsIDkwIGRheXN9CiMgU2V0IHVwIGEgZGF0YWZyYW1lIHRvIHJlY2VpdmUgcmVzdWx0cwpDT1gucmVzdWx0cyA8LSBkYXRhLmZyYW1lKG1hdHJpeChOQSwgbmNvbCA9IDEyLCBucm93ID0gMCkpCgojIExvb3Bpbmcgb3ZlciBlYWNoIHByb3RlaW4vZW5kcG9pbnQvdGltZSBjb21iaW5hdGlvbgpmb3IgKGkgaW4gMTpsZW5ndGgodGltZXM5MCkpewogIGVwdGltZSA9IHRpbWVzOTBbaV0KICBlcCA9IGVuZHBvaW50czkwW2ldCiAgY2F0KHBhc3RlMCgiKiBBbmFseXppbmcgdGhlIGVmZmVjdCBvZiBwbGFxdWUgcHJvdGVpbnMgb24gWyIsZXAsIl0uXG4iKSkKICBjYXQoIiAtIGNyZWF0aW5nIHRlbXBvcmFyeSBTRSBmb3IgdGhpcyB3b3JrLlxuIikKICBURU1QLkRGID0gYXMuZGF0YS5mcmFtZShBRURCLkNFQSkKICBjYXQoIiAtIG1ha2luZyBhICdTdXJ2JyBvYmplY3QgYW5kIGFkZGluZyB0aGlzIHRvIHRlbXBvcmFyeSBkYXRhZnJhbWUuXG4iKQogIFRFTVAuREYkZXZlbnQgPC0gYXMuaW50ZWdlcihURU1QLkRGWyxlcF0pCiAgVEVNUC5ERiR5IDwtIFN1cnYodGltZSA9IFRFTVAuREZbLGVwdGltZV0sIGV2ZW50ID0gVEVNUC5ERiRldmVudCkKICBjYXQoIiAtIG1ha2luZyBzdHJhdGEgb2YgZWFjaCBvZiB0aGUgcGxhcXVlIHByb3RlaW5zIGFuZCBzdGFydCBzdXJ2aXZhbCBhbmFseXNpcy5cbiIpCiAgCiAgZm9yIChwcm90ZWluIGluIDE6bGVuZ3RoKFRSQUlUUy5QUk9URUlOLlJBTkspKXsKICAgIGNhdChwYXN0ZTAoIiAgID4gcHJvY2Vzc2luZyBbIixUUkFJVFMuUFJPVEVJTi5SQU5LW3Byb3RlaW5dLCJdOyAiLHByb3RlaW4sIiBvdXQgb2YgIixsZW5ndGgoVFJBSVRTLlBST1RFSU4uUkFOSyksIiBwcm90ZWlucy5cbiIpKQogICAgIyBzcGxpdHRpbmcgaW50byB0d28gZ3JvdXBzCiAgICBURU1QLkRGW1sgVFJBSVRTLlBST1RFSU4uUkFOS1twcm90ZWluXSBdXSA8LSBjdXQyKFRFTVAuREZbLFRSQUlUUy5QUk9URUlOLlJBTktbcHJvdGVpbl1dLCBnID0gMikKICAgIGNhdChwYXN0ZTAoIiAgID4gY3Jvc3MgdGFidWxhdGlvbiBvZiAiLFRSQUlUUy5QUk9URUlOLlJBTktbcHJvdGVpbl0sIi1zdHJhdHVtLlxuIikpCiAgICBzaG93KHRhYmxlKFRFTVAuREZbWyBUUkFJVFMuUFJPVEVJTi5SQU5LW3Byb3RlaW5dIF1dKSkKICAgIAogICAgY2F0KHBhc3RlMCgiXG4gICA+IGZpdHRpbmcgdGhlIG1vZGVsIGZvciAiLFRSQUlUUy5QUk9URUlOLlJBTktbcHJvdGVpbl0sIi1zdHJhdHVtLlxuIikpCiAgICBmaXQgPC0gc3VydmZpdChhcy5mb3JtdWxhKHBhc3RlMCgieSB+ICIsIFRSQUlUUy5QUk9URUlOLlJBTktbcHJvdGVpbl0pKSwgZGF0YSA9IFRFTVAuREYpCiAgICAKICAgIGNhdChwYXN0ZTAoIlxuICAgPiBtYWtlIGEgS2FwbGFuLU1laWVyLXNoaXp6bGUuLi5cbiIpKQogICAgIyBtYWtlIEthcGxhbi1NZWllciBjdXJ2ZSBhbmQgc2F2ZSBpdAogICAgc2hvdyhnZ3N1cnZwbG90KGZpdCwgZGF0YSA9IFRFTVAuREYsCiAgICAgICAgICAgICAgICAgICAgcGFsZXR0ZSA9IGMoIiNEQjAwM0YiLCAiIzEyOTBEOSIpLAogICAgICAgICAgICAgICAgICAgICMgcGFsZXRlID0gYygiRjU5RDEwIiwgIiNEQjAwM0YiLCAiIzQ5QTAxRCIsICIjMTI5MEQ5IiksCiAgICAgICAgICAgICAgICAgICAgbGluZXR5cGUgPSBjKDEsMiksCiAgICAgICAgICAgICAgICAgICAgeWxpbSA9IGMoMC43NSwgMSksCiAgICAgICAgICAgICAgICAgICAgIyBsaW5ldHlwZSA9IGMoMSwyLDMsNCksCiAgICAgICAgICAgICAgICAgICAgIyBjb25mLmludCA9IEZBTFNFLCBjb25mLmludC5maWxsID0gIiM1OTVBNUMiLCBjb25mLmludC5hbHBoYSA9IDAuMSwKICAgICAgICAgICAgICAgICAgICBwdmFsID0gRkFMU0UsIHB2YWwubWV0aG9kID0gRkFMU0UsIHB2YWwuc2l6ZSA9IDQsCiAgICAgICAgICAgICAgICAgICAgcmlzay50YWJsZSA9IFRSVUUsIHJpc2sudGFibGUueS50ZXh0ID0gRkFMU0UsIHRhYmxlcy55LnRleHQuY29sID0gVFJVRSwgZm9udHNpemUgPSA0LAogICAgICAgICAgICAgICAgICAgIGNlbnNvciA9IEZBTFNFLAogICAgICAgICAgICAgICAgICAgIGxlZ2VuZCA9ICJyaWdodCIsCiAgICAgICAgICAgICAgICAgICAgbGVnZW5kLnRpdGxlID0gcGFzdGUwKCIiLFRSQUlUUy5QUk9URUlOLlJBTktbcHJvdGVpbl0sIiIpLAogICAgICAgICAgICAgICAgICAgIGxlZ2VuZC5sYWJzID0gYygibG93IiwgImhpZ2giKSwKICAgICAgICAgICAgICAgICAgICB0aXRsZSA9IHBhc3RlMCgiUmlzayBvZiAiLGVwLCIiKSwgeGxhYiA9ICJUaW1lIFtkYXlzXSIsIGZvbnQubWFpbiA9IGMoMTYsICJib2xkIiwgImJsYWNrIikpKQogICAgZGV2LmNvcHkycGRmKGZpbGUgPSBwYXN0ZTAoQ09YX2xvYywiLyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUb2RheSwiLkFFREIuQ0VBLnN1cnZpdmFsLiIsZXAsIi4yRy4iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVFJBSVRTLlBST1RFSU4uUkFOS1twcm90ZWluXSwiLjkwZGF5cy5wZGYiKSwgd2lkdGggPSAxMiwgaGVpZ2h0ID0gMTAsIG9uZWZpbGUgPSBGQUxTRSkKCiAgICBjYXQocGFzdGUwKCJcbiAgID4gcGVyZm9ybSB0aGUgQ294LXJlZ3Jlc3Npb24gZmFzaGl6emxlIGFuZCBwbG90IGl0Li4uXG4iKSkKICAgICMjIyBEbyBDb3gtcmVncmVzc2lvbiBhbmQgcGxvdCBpdAogICAgCiAgICAjIyMgTU9ERUwgMSAoU2ltcGxlIG1vZGVsKQogICAgY294ID0gY294cGgoU3VydihURU1QLkRGWyxlcHRpbWVdLCBldmVudCkgfiBURU1QLkRGW1sgVFJBSVRTLlBST1RFSU4uUkFOS1twcm90ZWluXSBdXStBZ2UrR2VuZGVyICsgT1JkYXRlX3llYXIsIGRhdGEgPSBURU1QLkRGKQogICAgY294cGxvdCA9IGNveHBoKFN1cnYoVEVNUC5ERlssZXB0aW1lXSwgZXZlbnQpIH4gc3RyYXRhKFRFTVAuREZbWyBUUkFJVFMuUFJPVEVJTi5SQU5LW3Byb3RlaW5dIF1dKStBZ2UrR2VuZGVyICsgT1JkYXRlX3llYXIsIGRhdGEgPSBURU1QLkRGKQoKICAgIHBsb3Qoc3VydmZpdChjb3hwbG90KSwgbWFpbiA9IHBhc3RlMCgiQ294IHByb3BvcnRpb25hbCBoYXphcmQgb2YgWyIsZXAsIl0gcGVyIFsiLGVwdGltZSwiXS4iKSwKICAgICAgICAgeWxpbSA9IGMoMC43NSwgMSksIHhsaW0gPSBjKDAsMyksIGNvbCA9IGMoIiM1OTVBNUMiLCAiI0RCMDAzRiIsICIjMTI5MEQ5IiksCiAgICAgICAgICMgeWxpbSA9IGMoMCwgMSksIHhsaW0gPSBjKDAsMyksIGNvbCA9IGMoIiNEQjAwM0YiLCAiIzEyOTBEOSIpLAogICAgICAgICBsdHkgPSBjKDEsMiksIGx3ZCA9IDIsCiAgICAgICAgIHlsYWIgPSAiU3V2aXZhbCBwcm9iYWJpbGl0eSIsIHhsYWIgPSAiRlUgdGltZSBbZGF5c10iLAogICAgICAgICBtYXJrLnRpbWUgPSBGQUxTRSwgYXhlcyA9IEZBTFNFLCBidHkgPSAibiIpCiAgICBsZWdlbmQoInRvcHJpZ2h0IiwKICAgICAgICAgICBjKCJsb3ciLCAiaGlnaCIpLAogICAgICAgICAgIHRpdGxlID0gcGFzdGUwKCIiLFRSQUlUUy5QUk9URUlOLlJBTktbcHJvdGVpbl0sIiIpLAogICAgICAgICAgIGNvbCA9IGMoIiNEQjAwM0YiLCAiIzEyOTBEOSIpLAogICAgICAgICAgIGx0eSA9IGMoMSwyKSwgbHdkID0gMiwKICAgICAgICAgICBidHkgPSAibiIpCiAgICBheGlzKHNpZGUgPSAxLCBhdCA9IHNlcSgwLCAzLCBieSA9IDEpKQogICAgYXhpcyhzaWRlID0gMiwgYXQgPSBzZXEoMCwgMSwgYnkgPSAwLjIpKQogICAgZGV2LmNvcHkycGRmKGZpbGUgPSBwYXN0ZTAoQ09YX2xvYywiLyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUb2RheSwiLkFFREIuQ0VBLkNveC4iLGVwLCIuMkcuIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgVG9kYXksIi5BRURCLkNFQS5Db3guIixlcCwiLjRHLiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUUkFJVFMuUFJPVEVJTi5SQU5LW3Byb3RlaW5dLCIuTU9ERUwxLjkwZGF5cy5wZGYiKSwgaGVpZ2h0ID0gMTIsIHdpZHRoID0gMTAsIG9uZWZpbGUgPSBUUlVFKQogICAgc2hvdyhzdW1tYXJ5KGNveCkpCgogICAgY2F0KHBhc3RlMCgiXG4gICA+IHdyaXRpbmcgdGhlIENveC1yZWdyZXNzaW9uIGZhc2hpenpsZSB0byBFeGNlbC4uLlxuIikpCgogICAgQ09YLnJlc3VsdHMuVEVNUCA8LSBkYXRhLmZyYW1lKG1hdHJpeChOQSwgbmNvbCA9IDEyLCBucm93ID0gMCkpCiAgICBDT1gucmVzdWx0cy5URU1QWzEsXSA9IENPWC5TVEFUKGNveCwgIkFFREIuQ0VBIiwgZXAsIFRSQUlUUy5QUk9URUlOLlJBTktbcHJvdGVpbl0pCiAgICBDT1gucmVzdWx0cyA9IHJiaW5kKENPWC5yZXN1bHRzLCBDT1gucmVzdWx0cy5URU1QKQoKICB9Cn0KCmNhdCgiLSBFZGl0IHRoZSBjb2x1bW4gbmFtZXMuLi5cbiIpCmNvbG5hbWVzKENPWC5yZXN1bHRzKSA9IGMoIkRhdGFzZXQiLCAiT3V0Y29tZSIsICJDcEciLAogICAgICAgICAgICAgICAgICAgICAgICAgICJCZXRhIiwgInMuZS5tLiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIkhSIiwgImxvdzk1Q0kiLCAidXA5NUNJIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAiWi12YWx1ZSIsICJQLXZhbHVlIiwgIlNhbXBsZVNpemUiLCAiTl9ldmVudHMiKQoKY2F0KCItIENvcnJlY3QgdGhlIHZhcmlhYmxlIHR5cGVzLi4uXG4iKQpDT1gucmVzdWx0cyRCZXRhIDwtIGFzLm51bWVyaWMoQ09YLnJlc3VsdHMkQmV0YSkKQ09YLnJlc3VsdHMkcy5lLm0uIDwtIGFzLm51bWVyaWMoQ09YLnJlc3VsdHMkcy5lLm0uKQpDT1gucmVzdWx0cyRIUiA8LSBhcy5udW1lcmljKENPWC5yZXN1bHRzJEhSKQpDT1gucmVzdWx0cyRsb3c5NUNJIDwtIGFzLm51bWVyaWMoQ09YLnJlc3VsdHMkbG93OTVDSSkKQ09YLnJlc3VsdHMkdXA5NUNJIDwtIGFzLm51bWVyaWMoQ09YLnJlc3VsdHMkdXA5NUNJKQpDT1gucmVzdWx0cyRgWi12YWx1ZWAgPC0gYXMubnVtZXJpYyhDT1gucmVzdWx0cyRgWi12YWx1ZWApCkNPWC5yZXN1bHRzJGBQLXZhbHVlYCA8LSBhcy5udW1lcmljKENPWC5yZXN1bHRzJGBQLXZhbHVlYCkKQ09YLnJlc3VsdHMkU2FtcGxlU2l6ZSA8LSBhcy5udW1lcmljKENPWC5yZXN1bHRzJFNhbXBsZVNpemUpCkNPWC5yZXN1bHRzJE5fZXZlbnRzIDwtIGFzLm51bWVyaWMoQ09YLnJlc3VsdHMkTl9ldmVudHMpCgpBRURCLkNFQS5DT1gucmVzdWx0cyA8LSBDT1gucmVzdWx0cwoKIyBTYXZlIHRoZSBkYXRhCmxpYnJhcnkob3Blbnhsc3gpCmNhdCgiLSBXcml0aW5nIHJlc3VsdHMgdG8gRXhjZWwtZmlsZS4uLlxuIikKaGVhZC5zdHlsZSA8LSBjcmVhdGVTdHlsZSh0ZXh0RGVjb3JhdGlvbiA9ICJCT0xEIikKd3JpdGUueGxzeChBRURCLkNFQS5DT1gucmVzdWx0cywKICAgICAgICAgICBmaWxlID0gcGFzdGUwKE9VVF9sb2MsICIvIixUb2RheSwiLkFFREIuQ0VBLkNveC4yRy5NT0RFTDEuOTBkYXlzLnhsc3giKSwKICAgICAgICAgICBjcmVhdG9yID0gIlNhbmRlciBXLiB2YW4gZGVyIExhYW4iLAogICAgICAgICAgIHNoZWV0TmFtZSA9ICJSZXN1bHRzIiwgaGVhZGVyU3R5bGUgPSBoZWFkLnN0eWxlLAogICAgICAgICAgIHJvdy5uYW1lcyA9IEZBTFNFLCBjb2wubmFtZXMgPSBUUlVFLCBvdmVyd3JpdGUgPSBUUlVFKQoKIyBSZW1vdmluZyBpbnRlcm1lZGlhdGVzCmNhdCgiLSBSZW1vdmluZyBpbnRlcm1lZGlhdGUgZmlsZXMuLi5cbiIpCiNybShURU1QLkRGLCBwcm90ZWluLCBmaXQsIGNveCwgY294cGxvdCwgQ09YLnJlc3VsdHMsIENPWC5yZXN1bHRzLlRFTVAsIGhlYWQuc3R5bGUsIEFFREIuQ0VBLkNPWC5yZXN1bHRzKQoKI3JtKGhlYWQuc3R5bGUpCgpgYGAKCipNT0RFTCAyKgpgYGB7ciBDb3gtcmVncmVzc2lvbiBBbmFseXNpczogTU9ERUwgMiwgOTAgZGF5c30KIyBTZXQgdXAgYSBkYXRhZnJhbWUgdG8gcmVjZWl2ZSByZXN1bHRzCkNPWC5yZXN1bHRzIDwtIGRhdGEuZnJhbWUobWF0cml4KE5BLCBuY29sID0gMTIsIG5yb3cgPSAwKSkKCiMgTG9vcGluZyBvdmVyIGVhY2ggcHJvdGVpbi9lbmRwb2ludC90aW1lIGNvbWJpbmF0aW9uCmZvciAoaSBpbiAxOmxlbmd0aCh0aW1lczkwKSl7CiAgZXB0aW1lID0gdGltZXM5MFtpXQogIGVwID0gZW5kcG9pbnRzOTBbaV0KICBjYXQocGFzdGUwKCIqIEFuYWx5emluZyB0aGUgZWZmZWN0IG9mIHBsYXF1ZSBwcm90ZWlucyBvbiBbIixlcCwiXS5cbiIpKQogIGNhdCgiIC0gY3JlYXRpbmcgdGVtcG9yYXJ5IFNFIGZvciB0aGlzIHdvcmsuXG4iKQogIFRFTVAuREYgPSBhcy5kYXRhLmZyYW1lKEFFREIuQ0VBKQogIGNhdCgiIC0gbWFraW5nIGEgJ1N1cnYnIG9iamVjdCBhbmQgYWRkaW5nIHRoaXMgdG8gdGVtcG9yYXJ5IGRhdGFmcmFtZS5cbiIpCiAgVEVNUC5ERiRldmVudCA8LSBhcy5pbnRlZ2VyKFRFTVAuREZbLGVwXSkKICAjYXMuaW50ZWdlcihURU1QLkRGWyxlcF0gPT0gIkV4Y2x1ZGVkIikKCiAgVEVNUC5ERiR5IDwtIFN1cnYodGltZSA9IFRFTVAuREZbLGVwdGltZV0sIGV2ZW50ID0gVEVNUC5ERiRldmVudCkKICBjYXQoIiAtIG1ha2luZyBzdHJhdGEgb2YgZWFjaCBvZiB0aGUgcGxhcXVlIHByb3RlaW5zIGFuZCBzdGFydCBzdXJ2aXZhbCBhbmFseXNpcy5cbiIpCiAgCiAgZm9yIChwcm90ZWluIGluIDE6bGVuZ3RoKFRSQUlUUy5QUk9URUlOLlJBTkspKXsKICAgIGNhdChwYXN0ZTAoIiAgID4gcHJvY2Vzc2luZyBbIixUUkFJVFMuUFJPVEVJTi5SQU5LW3Byb3RlaW5dLCJdOyAiLHByb3RlaW4sIiBvdXQgb2YgIixsZW5ndGgoVFJBSVRTLlBST1RFSU4uUkFOSyksIiBwcm90ZWlucy5cbiIpKQogICAgIyBzcGxpdHRpbmcgaW50byB0d28gZ3JvdXBzCiAgICBURU1QLkRGW1sgVFJBSVRTLlBST1RFSU4uUkFOS1twcm90ZWluXSBdXSA8LSBjdXQyKFRFTVAuREZbLFRSQUlUUy5QUk9URUlOLlJBTktbcHJvdGVpbl1dLCBnID0gMikKICAgIGNhdChwYXN0ZTAoIiAgID4gY3Jvc3MgdGFidWxhdGlvbiBvZiAiLFRSQUlUUy5QUk9URUlOLlJBTktbcHJvdGVpbl0sIi1zdHJhdHVtLlxuIikpCiAgICBzaG93KHRhYmxlKFRFTVAuREZbWyBUUkFJVFMuUFJPVEVJTi5SQU5LW3Byb3RlaW5dIF1dKSkKICAgIAogICAgY2F0KHBhc3RlMCgiXG4gICA+IGZpdHRpbmcgdGhlIG1vZGVsIGZvciAiLFRSQUlUUy5QUk9URUlOLlJBTktbcHJvdGVpbl0sIi1zdHJhdHVtLlxuIikpCiAgICBmaXQgPC0gc3VydmZpdChhcy5mb3JtdWxhKHBhc3RlMCgieSB+ICIsIFRSQUlUUy5QUk9URUlOLlJBTktbcHJvdGVpbl0pKSwgZGF0YSA9IFRFTVAuREYpCiAgICAKICAgIGNhdChwYXN0ZTAoIlxuICAgPiBtYWtlIGEgS2FwbGFuLU1laWVyLXNoaXp6bGUuLi5cbiIpKQogICAgIyBtYWtlIEthcGxhbi1NZWllciBjdXJ2ZSBhbmQgc2F2ZSBpdAogICAgc2hvdyhnZ3N1cnZwbG90KGZpdCwgZGF0YSA9IFRFTVAuREYsCiAgICAgICAgICAgICAgICAgICAgcGFsZXR0ZSA9IGMoIiNEQjAwM0YiLCAiIzEyOTBEOSIpLAogICAgICAgICAgICAgICAgICAgICMgcGFsZXRlID0gYygiRjU5RDEwIiwgIiNEQjAwM0YiLCAiIzQ5QTAxRCIsICIjMTI5MEQ5IiksCiAgICAgICAgICAgICAgICAgICAgbGluZXR5cGUgPSBjKDEsMiksCiAgICAgICAgICAgICAgICAgICAgeWxpbSA9IGMoMC43NSwgMSksCiAgICAgICAgICAgICAgICAgICAgIyBsaW5ldHlwZSA9IGMoMSwyLDMsNCksCiAgICAgICAgICAgICAgICAgICAgIyBjb25mLmludCA9IEZBTFNFLCBjb25mLmludC5maWxsID0gIiM1OTVBNUMiLCBjb25mLmludC5hbHBoYSA9IDAuMSwKICAgICAgICAgICAgICAgICAgICBwdmFsID0gRkFMU0UsIHB2YWwubWV0aG9kID0gRkFMU0UsIHB2YWwuc2l6ZSA9IDQsCiAgICAgICAgICAgICAgICAgICAgcmlzay50YWJsZSA9IFRSVUUsIHJpc2sudGFibGUueS50ZXh0ID0gRkFMU0UsIHRhYmxlcy55LnRleHQuY29sID0gVFJVRSwgZm9udHNpemUgPSA0LAogICAgICAgICAgICAgICAgICAgIGNlbnNvciA9IEZBTFNFLAogICAgICAgICAgICAgICAgICAgIGxlZ2VuZCA9ICJyaWdodCIsCiAgICAgICAgICAgICAgICAgICAgbGVnZW5kLnRpdGxlID0gcGFzdGUwKCIiLFRSQUlUUy5QUk9URUlOLlJBTktbcHJvdGVpbl0sIiIpLAogICAgICAgICAgICAgICAgICAgIGxlZ2VuZC5sYWJzID0gYygibG93IiwgImhpZ2giKSwKICAgICAgICAgICAgICAgICAgICB0aXRsZSA9IHBhc3RlMCgiUmlzayBvZiAiLGVwLCIiKSwgeGxhYiA9ICJUaW1lIFtkYXlzXSIsIGZvbnQubWFpbiA9IGMoMTYsICJib2xkIiwgImJsYWNrIikpKQogICAgZGV2LmNvcHkycGRmKGZpbGUgPSBwYXN0ZTAoQ09YX2xvYywiLyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUb2RheSwiLkFFREIuQ0VBLnN1cnZpdmFsLiIsZXAsIi4yRy4iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVFJBSVRTLlBST1RFSU4uUkFOS1twcm90ZWluXSwiLjkwZGF5cy5wZGYiKSwgd2lkdGggPSAxMiwgaGVpZ2h0ID0gMTAsIG9uZWZpbGUgPSBGQUxTRSkKCiAgICBjYXQocGFzdGUwKCJcbiAgID4gcGVyZm9ybSB0aGUgQ294LXJlZ3Jlc3Npb24gZmFzaGl6emxlIGFuZCBwbG90IGl0Li4uXG4iKSkKICAgICMjIyBEbyBDb3gtcmVncmVzc2lvbiBhbmQgcGxvdCBpdAogICAgCiAgICAjIyMgTU9ERUwgMiBhZGp1c3RlZCBmb3IgYWdlLCBzZXgsIGh5cGVydGVuc2lvbiwgZGlhYmV0ZXMsIHNtb2tpbmcsIExETC1DIGxldmVscywgbGlwaWQtbG93ZXJpbmcgZHJ1Z3MsIGFudGlwbGF0ZWxldCBkcnVncywgZUdGUiwgQk1JLCBoaXN0b3J5IG9mIENWRCwgbGV2ZWwgb2Ygc3Rlbm9zaXMKICAgIGNveCA9IGNveHBoKFN1cnYoVEVNUC5ERlssZXB0aW1lXSwgZXZlbnQpIH4gVEVNUC5ERltbIFRSQUlUUy5QUk9URUlOLlJBTktbcHJvdGVpbl0gXV0rQWdlICsgR2VuZGVyICsgT1JkYXRlX3llYXIgKyBIeXBlcnRlbnNpb24uY29tcG9zaXRlICsgRGlhYmV0ZXNTdGF0dXMgKyBTbW9rZXJTdGF0dXMgKyBNZWQuU3RhdGluLkxMRCArIE1lZC5hbGwuYW50aXBsYXRlbGV0ICsgR0ZSX01EUkQgKyBCTUkgKyBNZWRIeF9DVkQgKyBzdGVub3NlLCBkYXRhID0gVEVNUC5ERikKICAgIGNveHBsb3QgPSBjb3hwaChTdXJ2KFRFTVAuREZbLGVwdGltZV0sIGV2ZW50KSB+IHN0cmF0YShURU1QLkRGW1sgVFJBSVRTLlBST1RFSU4uUkFOS1twcm90ZWluXSBdXSkrQWdlICsgR2VuZGVyICsgT1JkYXRlX3llYXIgKyBIeXBlcnRlbnNpb24uY29tcG9zaXRlICsgRGlhYmV0ZXNTdGF0dXMgKyBTbW9rZXJTdGF0dXMgKyBNZWQuU3RhdGluLkxMRCArIE1lZC5hbGwuYW50aXBsYXRlbGV0ICsgR0ZSX01EUkQgKyBCTUkgKyBNZWRIeF9DVkQgKyBzdGVub3NlLCBkYXRhID0gVEVNUC5ERikKCiAgCiAgICBwbG90KHN1cnZmaXQoY294cGxvdCksIG1haW4gPSBwYXN0ZTAoIkNveCBwcm9wb3J0aW9uYWwgaGF6YXJkIG9mIFsiLGVwLCJdIHBlciBbIixlcHRpbWUsIl0uIiksCiAgICAgICAgIHlsaW0gPSBjKDAuNzUsIDEpLCB4bGltID0gYygwLDMpLCBjb2wgPSBjKCIjREIwMDNGIiwgIiMxMjkwRDkiKSwKICAgICAgICAgIyB5bGltID0gYygwLCAxKSwgeGxpbSA9IGMoMCwzKSwgY29sID0gYygiI0RCMDAzRiIsICIjMTI5MEQ5IiksCiAgICAgICAgIGx0eSA9IGMoMSwyKSwgbHdkID0gMiwKICAgICAgICAgeWxhYiA9ICJTdXZpdmFsIHByb2JhYmlsaXR5IiwgeGxhYiA9ICJGVSB0aW1lIFtkYXlzXSIsCiAgICAgICAgIG1hcmsudGltZSA9IEZBTFNFLCBheGVzID0gRkFMU0UsIGJ0eSA9ICJuIikKICAgIGxlZ2VuZCgidG9wcmlnaHQiLAogICAgICAgICAgIGMoImxvdyIsICJoaWdoIiksCiAgICAgICAgICAgdGl0bGUgPSBwYXN0ZTAoIiIsVFJBSVRTLlBST1RFSU4uUkFOS1twcm90ZWluXSwiIiksCiAgICAgICAgICAgY29sID0gYygiI0RCMDAzRiIsICIjMTI5MEQ5IiksCiAgICAgICAgICAgbHR5ID0gYygxLDIpLCBsd2QgPSAyLAogICAgICAgICAgIGJ0eSA9ICJuIikKICAgIGF4aXMoc2lkZSA9IDEsIGF0ID0gc2VxKDAsIDMsIGJ5ID0gMSkpCiAgICBheGlzKHNpZGUgPSAyLCBhdCA9IHNlcSgwLCAxLCBieSA9IDAuMikpCiAgICBkZXYuY29weTJwZGYoZmlsZSA9IHBhc3RlMChDT1hfbG9jLCIvIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRvZGF5LCIuQUVEQi5DRUEuQ294LiIsZXAsIi4yRy4iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBUb2RheSwiLkFFREIuQ0VBLkNveC4iLGVwLCIuNEcuIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRSQUlUUy5QUk9URUlOLlJBTktbcHJvdGVpbl0sIi5NT0RFTDIuOTBkYXlzLnBkZiIpLCBoZWlnaHQgPSAxMiwgd2lkdGggPSAxMCwgb25lZmlsZSA9IFRSVUUpCgogICAgc2hvdyhzdW1tYXJ5KGNveCkpCgogICAgY2F0KHBhc3RlMCgiXG4gICA+IHdyaXRpbmcgdGhlIENveC1yZWdyZXNzaW9uIGZhc2hpenpsZSB0byBFeGNlbC4uLlxuIikpCgogICAgQ09YLnJlc3VsdHMuVEVNUCA8LSBkYXRhLmZyYW1lKG1hdHJpeChOQSwgbmNvbCA9IDEyLCBucm93ID0gMCkpCiAgICBDT1gucmVzdWx0cy5URU1QWzEsXSA9IENPWC5TVEFUKGNveCwgIkFFREIuQ0VBIiwgZXAsIFRSQUlUUy5QUk9URUlOLlJBTktbcHJvdGVpbl0pCiAgICBDT1gucmVzdWx0cyA9IHJiaW5kKENPWC5yZXN1bHRzLCBDT1gucmVzdWx0cy5URU1QKQoKICB9Cn0KCmNhdCgiLSBFZGl0IHRoZSBjb2x1bW4gbmFtZXMuLi5cbiIpCmNvbG5hbWVzKENPWC5yZXN1bHRzKSA9IGMoIkRhdGFzZXQiLCAiT3V0Y29tZSIsICJDcEciLAogICAgICAgICAgICAgICAgICAgICAgICAgICJCZXRhIiwgInMuZS5tLiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIkhSIiwgImxvdzk1Q0kiLCAidXA5NUNJIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAiWi12YWx1ZSIsICJQLXZhbHVlIiwgIlNhbXBsZVNpemUiLCAiTl9ldmVudHMiKQoKY2F0KCItIENvcnJlY3QgdGhlIHZhcmlhYmxlIHR5cGVzLi4uXG4iKQpDT1gucmVzdWx0cyRCZXRhIDwtIGFzLm51bWVyaWMoQ09YLnJlc3VsdHMkQmV0YSkKQ09YLnJlc3VsdHMkcy5lLm0uIDwtIGFzLm51bWVyaWMoQ09YLnJlc3VsdHMkcy5lLm0uKQpDT1gucmVzdWx0cyRIUiA8LSBhcy5udW1lcmljKENPWC5yZXN1bHRzJEhSKQpDT1gucmVzdWx0cyRsb3c5NUNJIDwtIGFzLm51bWVyaWMoQ09YLnJlc3VsdHMkbG93OTVDSSkKQ09YLnJlc3VsdHMkdXA5NUNJIDwtIGFzLm51bWVyaWMoQ09YLnJlc3VsdHMkdXA5NUNJKQpDT1gucmVzdWx0cyRgWi12YWx1ZWAgPC0gYXMubnVtZXJpYyhDT1gucmVzdWx0cyRgWi12YWx1ZWApCkNPWC5yZXN1bHRzJGBQLXZhbHVlYCA8LSBhcy5udW1lcmljKENPWC5yZXN1bHRzJGBQLXZhbHVlYCkKQ09YLnJlc3VsdHMkU2FtcGxlU2l6ZSA8LSBhcy5udW1lcmljKENPWC5yZXN1bHRzJFNhbXBsZVNpemUpCkNPWC5yZXN1bHRzJE5fZXZlbnRzIDwtIGFzLm51bWVyaWMoQ09YLnJlc3VsdHMkTl9ldmVudHMpCgpBRURCLkNFQS5DT1gucmVzdWx0cyA8LSBDT1gucmVzdWx0cwoKIyBTYXZlIHRoZSBkYXRhCmNhdCgiLSBXcml0aW5nIHJlc3VsdHMgdG8gRXhjZWwtZmlsZS4uLlxuIikKaGVhZC5zdHlsZSA8LSBjcmVhdGVTdHlsZSh0ZXh0RGVjb3JhdGlvbiA9ICJCT0xEIikKd3JpdGUueGxzeChBRURCLkNFQS5DT1gucmVzdWx0cywKICAgICAgICAgICBmaWxlID0gcGFzdGUwKE9VVF9sb2MsICIvIixUb2RheSwiLkFFREIuQ0VBLkNveC4yRy5NT0RFTDIuOTBkYXlzLnhsc3giKSwKICAgICAgICAgICBjcmVhdG9yID0gIlNhbmRlciBXLiB2YW4gZGVyIExhYW4iLAogICAgICAgICAgIHNoZWV0TmFtZSA9ICJSZXN1bHRzIiwgaGVhZGVyU3R5bGUgPSBoZWFkLnN0eWxlLAogICAgICAgICAgIHJvdy5uYW1lcyA9IEZBTFNFLCBjb2wubmFtZXMgPSBUUlVFLCBvdmVyd3JpdGUgPSBUUlVFKQoKIyBSZW1vdmluZyBpbnRlcm1lZGlhdGVzCmNhdCgiLSBSZW1vdmluZyBpbnRlcm1lZGlhdGUgZmlsZXMuLi5cbiIpCnJtKFRFTVAuREYsIHByb3RlaW4sIGZpdCwgY294LCBjb3hwbG90LCBDT1gucmVzdWx0cywgQ09YLnJlc3VsdHMuVEVNUCwgaGVhZC5zdHlsZSwgQUVEQi5DRUEuQ09YLnJlc3VsdHMpCgpybShoZWFkLnN0eWxlKQoKYGBgCgoKCiMgQ29ycmVsYXRpb25zCldlIGNvcnJlbGF0ZWQgcGxhc21hIGFuZCBwbGFxdWUgbGV2ZWxzIG9mIHRoZSBiaW9tYXJrZXJzLgoKIyMgTUNQMSBwbGFxdWUgbGV2ZWxzCgpgYGB7ciBDcm9zc1NhbXBsZVR5cGUgQ29ycmVsYXRpb25zfQoKIyBJbnN0YWxsYXRpb24gb2YgZ2djb3JycGxvdCgpCiMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KaWYoIXJlcXVpcmUoZGV2dG9vbHMpKSAKICBpbnN0YWxsLnBhY2thZ2VzKCJkZXZ0b29scyIpCmRldnRvb2xzOjppbnN0YWxsX2dpdGh1Yigia2Fzc2FtYmFyYS9nZ2NvcnJwbG90IikKCmxpYnJhcnkoZ2djb3JycGxvdCkKCgojIENyZWF0aW5nIG1hdHJpeCAtIGludmVyc2UtcmFuayB0cmFuc2Zvcm1hdGlvbgojIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQUVEQi5DRUEudGVtcCA8LSBzdWJzZXQoQUVEQi5DRUEsIAojICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0ID0gYygiSUw2X3JhbmsiLCAiTUNQMV9yYW5rIiwgIklMNl9wZ191Z18yMDE1X3JhbmsiLCAiTUNQMV9wZ191Z18yMDE1X3JhbmsiLCAiSUw2Ul9wZ191Z18yMDE1X3JhbmsiLAojICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVFJBSVRTLkJJTiwgVFJBSVRTLkNPTi5SQU5LKQojICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKIyBBRURCLkNFQS50ZW1wIDwtIHN1YnNldChBRURCLkNFQSwgCiMgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3QgPSBjKCJNQ1AxX3JhbmsiLCAiTUNQMV9wZ191Z18yMDE1X3JhbmsiLAojICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVFJBSVRTLkJJTiwgVFJBSVRTLkNPTi5SQU5LKQojICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKQUVEQi5DRUEudGVtcCA8LSBzdWJzZXQoQUVEQi5DRUEsIAogICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdCA9IGMoIk1DUDFfcGdfdWdfMjAxNV9yYW5rIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRSQUlUUy5CSU4sIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVFJBSVRTLkNPTi5SQU5LLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlN5bXB0b21zLjVHIiwgIkFzeW1wdFN5bXB0IiwgIkVQX21ham9yIiwgIkVQX2NvbXBvc2l0ZSIpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKCgpBRURCLkNFQS50ZW1wJENhbGNpZmljYXRpb25QbGFxdWUgPC0gYXMubnVtZXJpYyhBRURCLkNFQS50ZW1wJENhbGNpZmljYXRpb25QbGFxdWUpCkFFREIuQ0VBLnRlbXAkQ29sbGFnZW5QbGFxdWUgPC0gYXMubnVtZXJpYyhBRURCLkNFQS50ZW1wJENvbGxhZ2VuUGxhcXVlKQpBRURCLkNFQS50ZW1wJEZhdDEwUGVyYyA8LSBhcy5udW1lcmljKEFFREIuQ0VBLnRlbXAkRmF0MTBQZXJjKQpBRURCLkNFQS50ZW1wJE1BQ19iaW5uZWQgPC0gYXMubnVtZXJpYyhBRURCLkNFQS50ZW1wJE1BQ19iaW5uZWQpCkFFREIuQ0VBLnRlbXAkU01DX2Jpbm5lZCA8LSBhcy5udW1lcmljKEFFREIuQ0VBLnRlbXAkU01DX2Jpbm5lZCkKQUVEQi5DRUEudGVtcCRJUEggPC0gYXMubnVtZXJpYyhBRURCLkNFQS50ZW1wJElQSCkKQUVEQi5DRUEudGVtcCRTeW1wdG9tcy41RyA8LSBhcy5udW1lcmljKEFFREIuQ0VBLnRlbXAkU3ltcHRvbXMuNUcpCkFFREIuQ0VBLnRlbXAkQXN5bXB0U3ltcHQgPC0gYXMubnVtZXJpYyhBRURCLkNFQS50ZW1wJEFzeW1wdFN5bXB0KQpBRURCLkNFQS50ZW1wJEVQX21ham9yIDwtIGFzLm51bWVyaWMoQUVEQi5DRUEudGVtcCRFUF9tYWpvcikKQUVEQi5DRUEudGVtcCRFUF9jb21wb3NpdGUgPC0gYXMubnVtZXJpYyhBRURCLkNFQS50ZW1wJEVQX2NvbXBvc2l0ZSkKc3RyKEFFREIuQ0VBLnRlbXApCkFFREIuQ0VBLm1hdHJpeC5SQU5LIDwtIGFzLm1hdHJpeChBRURCLkNFQS50ZW1wKQpybShBRURCLkNFQS50ZW1wKQoKY29ycl9iaW9tYXJrZXJzLnJhbmsgPC0gcm91bmQoY29yKEFFREIuQ0VBLm1hdHJpeC5SQU5LLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2UgPSAicGFpcndpc2UuY29tcGxldGUub2JzIiwgI3RoZSBjb3JyZWxhdGlvbiBvciBjb3ZhcmlhbmNlIGJldHdlZW4gZWFjaCBwYWlyIG9mIHZhcmlhYmxlcyBpcyBjb21wdXRlZCB1c2luZyBhbGwgY29tcGxldGUgcGFpcnMgb2Ygb2JzZXJ2YXRpb25zIG9uIHRob3NlIHZhcmlhYmxlcwogICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1ldGhvZCA9ICJzcGVhcm1hbiIpLCAzKQojIGNvcnJfYmlvbWFya2Vycy5yYW5rCgpjb3JyX2Jpb21hcmtlcnNfcC5yYW5rIDwtIGdnY29ycnBsb3Q6OmNvcl9wbWF0KEFFREIuQ0VBLm1hdHJpeC5SQU5LLCB1c2UgPSAicGFpcndpc2UuY29tcGxldGUub2JzIiwgbWV0aG9kID0gInNwZWFybWFuIikKCiMgQWRkIGNvcnJlbGF0aW9uIGNvZWZmaWNpZW50cwojIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgYXJndW1lbnQgbGFiID0gVFJVRQpnZ2NvcnJwbG90KGNvcnJfYmlvbWFya2Vycy5yYW5rLCAKICAgICAgICAgICBtZXRob2QgPSAic3F1YXJlIiwgCiAgICAgICAgICAgdHlwZSA9ICJsb3dlciIsCiAgICAgICAgICAgdGl0bGUgPSAiQ3Jvc3MgYmlvbWFya2VyIGNvcnJlbGF0aW9ucyIsIAogICAgICAgICAgIHNob3cubGVnZW5kID0gVFJVRSwgbGVnZW5kLnRpdGxlID0gYnF1b3RlKCJTcGVhcm1hbidzIn5pdGFsaWMocmhvKSksCiAgICAgICAgICAgZ2d0aGVtZSA9IGdncGxvdDI6OnRoZW1lX21pbmltYWwsIG91dGxpbmUuY29sb3IgPSAiI0ZGRkZGRiIsCiAgICAgICAgICAgc2hvdy5kaWFnID0gVFJVRSwKICAgICAgICAgICBoYy5vcmRlciA9IEZBTFNFLCAKICAgICAgICAgICBsYWIgPSBGQUxTRSwKICAgICAgICAgICBkaWdpdHMgPSAzLAogICAgICAgICAgICMgcC5tYXQgPSBjb3JyX2Jpb21hcmtlcnNfcC5yYW5rLCBzaWcubGV2ZWwgPSAwLjA1LAogICAgICAgICAgIGNvbG9ycyA9IGMoIiMxMjkwRDkiLCAiI0ZGRkZGRiIsICIjRTU1NzM4IikpCgpgYGAKCmBgYHtyIE1DUDEgQ29ycmVsYXRpb25zIHRhYmxlfQojIGZsYXR0ZW5Db3JyTWF0cml4CiMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBjb3JtYXQgOiBtYXRyaXggb2YgdGhlIGNvcnJlbGF0aW9uIGNvZWZmaWNpZW50cwojIHBtYXQgOiBtYXRyaXggb2YgdGhlIGNvcnJlbGF0aW9uIHAtdmFsdWVzCmZsYXR0ZW5Db3JyTWF0cml4IDwtIGZ1bmN0aW9uKGNvcm1hdCwgcG1hdCkgewogIHV0IDwtIHVwcGVyLnRyaShjb3JtYXQpCiAgZGF0YS5mcmFtZSgKICAgIGJpb21hcmtlcl9yb3cgPSByb3duYW1lcyhjb3JtYXQpW3Jvdyhjb3JtYXQpW3V0XV0sCiAgICBiaW9tYXJrZXJfY29sdW1uID0gcm93bmFtZXMoY29ybWF0KVtjb2woY29ybWF0KVt1dF1dLAogICAgc3BlYXJtYW5fY29yICA9KGNvcm1hdClbdXRdLAogICAgcHZhbCA9IHBtYXRbdXRdCiAgICApCn0KCmNvcnJfYmlvbWFya2Vycy5yYW5rLmRmIDwtIGFzLmRhdGEudGFibGUoZmxhdHRlbkNvcnJNYXRyaXgoY29ycl9iaW9tYXJrZXJzLnJhbmssIGNvcnJfYmlvbWFya2Vyc19wLnJhbmspKQpEVDo6ZGF0YXRhYmxlKGNvcnJfYmlvbWFya2Vycy5yYW5rLmRmKQoKYGBgCgpgYGB7ciBNQ1AxIENvcnJlbGF0aW9ucyBhbHRlcm5hdGl2ZSB2aXN1YWwgMX0KIyBjaGFydCBvZiBhIGNvcnJlbGF0aW9uIG1hdHJpeAojIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQWx0ZXJuYXRpdmUgc29sdXRpb24gaHR0cHM6Ly93d3cuci1ncmFwaC1nYWxsZXJ5LmNvbS8xOTktY29ycmVsYXRpb24tbWF0cml4LXdpdGgtZ2dhbGx5Lmh0bWwKaW5zdGFsbC5wYWNrYWdlcy5hdXRvKCJQZXJmb3JtYW5jZUFuYWx5dGljcyIpCmNoYXJ0LkNvcnJlbGF0aW9uLm5ldyA8LSBmdW5jdGlvbiAoUiwgaGlzdG9ncmFtID0gVFJVRSwgbWV0aG9kID0gYygicGVhcnNvbiIsICJrZW5kYWxsIiwgCiAgICAic3BlYXJtYW4iKSwgLi4uKSAKewogICAgeCA9IGNoZWNrRGF0YShSLCBtZXRob2QgPSAibWF0cml4IikKICAgIGlmIChtaXNzaW5nKG1ldGhvZCkpIAogICAgICAgIG1ldGhvZCA9IG1ldGhvZFsxXQogICAgY29ybWV0aCA8LSBtZXRob2QKICAgIHBhbmVsLmNvciA8LSBmdW5jdGlvbih4LCB5LCBkaWdpdHMgPSAyLCBwcmVmaXggPSAiIiwgdXNlID0gInBhaXJ3aXNlLmNvbXBsZXRlLm9icyIsIAogICAgICAgIG1ldGhvZCA9IGNvcm1ldGgsIGNleC5jb3IsIC4uLikgewogICAgICAgIHVzciA8LSBwYXIoInVzciIpCiAgICAgICAgb24uZXhpdChwYXIodXNyKSkKICAgICAgICBwYXIodXNyID0gYygwLCAxLCAwLCAxKSkKICAgICAgICByIDwtIGNvcih4LCB5LCB1c2UgPSB1c2UsIG1ldGhvZCA9IG1ldGhvZCkKICAgICAgICB0eHQgPC0gZm9ybWF0KGMociwgMC4xMjM0NTY3ODkpLCBkaWdpdHMgPSBkaWdpdHMpWzFdCiAgICAgICAgdHh0IDwtIHBhc3RlKHByZWZpeCwgdHh0LCBzZXAgPSAiIikKICAgICAgICBpZiAobWlzc2luZyhjZXguY29yKSkgCiAgICAgICAgICAgIGNleCA8LSAwLjgvc3Ryd2lkdGgodHh0KQogICAgICAgIHRlc3QgPC0gY29yLnRlc3QoYXMubnVtZXJpYyh4KSwgYXMubnVtZXJpYyh5KSwgbWV0aG9kID0gbWV0aG9kKQogICAgICAgIFNpZ25pZiA8LSBzeW1udW0odGVzdCRwLnZhbHVlLCBjb3JyID0gRkFMU0UsIG5hID0gRkFMU0UsIAogICAgICAgICAgICBjdXRwb2ludHMgPSBjKDAsIDAuMDAxLCAwLjAxLCAwLjA1LCAwLjEsIDEpLCBzeW1ib2xzID0gYygiKioqIiwgCiAgICAgICAgICAgICAgICAiKioiLCAiKiIsICIuIiwgIiAiKSkKICAgICAgICB0ZXh0KDAuNSwgMC41LCB0eHQsIGNleCA9IGNleCAqIChhYnMocikgKyAwLjMpLzEuMykKICAgICAgICB0ZXh0KDAuOCwgMC44LCBTaWduaWYsIGNleCA9IGNleCwgY29sID0gMikKICAgIH0KICAgIGYgPC0gZnVuY3Rpb24odCkgewogICAgICAgIGRub3JtKHQsIG1lYW4gPSBtZWFuKHgpLCBzZCA9IHNkLnh0cyh4KSkKICAgIH0KICAgIGRvdGFyZ3MgPC0gbGlzdCguLi4pCiAgICBkb3RhcmdzJG1ldGhvZCA8LSBOVUxMCiAgICBybShtZXRob2QpCiAgICBoaXN0LnBhbmVsID0gZnVuY3Rpb24oeCwgLi4uID0gTlVMTCkgewogICAgICAgIHBhcihuZXcgPSBUUlVFKQogICAgICAgIGhpc3QoeCwgY29sID0gIiMxMjkwRDkiLCBwcm9iYWJpbGl0eSA9IFRSVUUsIGF4ZXMgPSBGQUxTRSwgCiAgICAgICAgIyBoaXN0KHgsIGNvbCA9ICJsaWdodCBncmF5IiwgcHJvYmFiaWxpdHkgPSBUUlVFLCBheGVzID0gRkFMU0UsIAogICAgICAgICAgICBtYWluID0gIiIsIGJyZWFrcyA9ICJGRCIpCiAgICAgICAgbGluZXMoZGVuc2l0eSh4LCBuYS5ybSA9IFRSVUUpLCBjb2wgPSAiI0U1NTczOCIsIGx3ZCA9IDEpCiAgICAgICAgcnVnKHgpCiAgICB9CiAgICBpZiAoaGlzdG9ncmFtKSAKICAgICAgICBwYWlycyh4LCBnYXAgPSAwLCBsb3dlci5wYW5lbCA9IHBhbmVsLnNtb290aCwgdXBwZXIucGFuZWwgPSBwYW5lbC5jb3IsIAogICAgICAgICAgICBkaWFnLnBhbmVsID0gaGlzdC5wYW5lbCwgLi4uKQogICAgZWxzZSBwYWlycyh4LCBnYXAgPSAwLCBsb3dlci5wYW5lbCA9IHBhbmVsLnNtb290aCwgdXBwZXIucGFuZWwgPSBwYW5lbC5jb3IsIC4uLikKfQoKCmNoYXJ0LkNvcnJlbGF0aW9uLm5ldyhBRURCLkNFQS5tYXRyaXguUkFOSywgbWV0aG9kID0gInNwZWFybWFuIiwgaGlzdG9ncmFtID0gVFJVRSwgcGNoID0gMykKYGBgCgoKYGBge3IgTUNQMSBDb3JyZWxhdGlvbnMgYWx0ZXJuYXRpdmUgdmlzdWFsIDJ9CiMgYWx0ZXJuYXRpdmUgY2hhcnQgb2YgYSBjb3JyZWxhdGlvbiBtYXRyaXgKIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIEFsdGVybmF0aXZlIHNvbHV0aW9uIGh0dHBzOi8vd3d3LnItZ3JhcGgtZ2FsbGVyeS5jb20vMTk5LWNvcnJlbGF0aW9uLW1hdHJpeC13aXRoLWdnYWxseS5odG1sCmluc3RhbGwucGFja2FnZXMuYXV0bygiR0dhbGx5IikKCiMgUXVpY2sgZGlzcGxheSBvZiB0d28gY2FiYXBpbGl0aWVzIG9mIEdHYWxseSwgdG8gYXNzZXNzIHRoZSBkaXN0cmlidXRpb24gYW5kIGNvcnJlbGF0aW9uIG9mIHZhcmlhYmxlcyAKbGlicmFyeShHR2FsbHkpCiAKIyBGcm9tIHRoZSBoZWxwIHBhZ2U6CgojIGdncGFpcnMoQUVEQi5DRUEsIAojICAgICAgICAgY29sdW1ucyA9IGMoIk1DUDFfcmFuayIsICJNQ1AxX3BnX3VnXzIwMTVfcmFuayIsIFRSQUlUUy5CSU4sIFRSQUlUUy5DT04uUkFOSyksIAojICAgICAgICAgY29sdW1uTGFiZWxzID0gYygiTUNQMSAocGxhc21hKSIsICJNQ1AxIiwgCiMgICAgICAgICAgICAgICAgICAgICAgICAgICJDYWxjaWZpY2F0aW9uIiwgIkNvbGxhZ2VuIiwgIkZhdCAxMCUiLCAiSVBIIiwgIk1hY3JvcGhhZ2VzIiwgIlNNQyIsICJWZXNzZWwgZGVuc2l0eSIpLAojICAgICAgICAgbWV0aG9kID0gYygic3BlYXJtYW4iKSwKIyAgICAgICAgICMgZ2dwbG90Mjo6YWVzKGNvbG91ciA9IEdlbmRlciksCiMgICAgICAgICBwcm9ncmVzcyA9IEZBTFNFKSAKCmdncGFpcnMoQUVEQi5DRUEsCiAgICAgICAgY29sdW1ucyA9IGMoIk1DUDFfcGdfdWdfMjAxNV9yYW5rIiwgVFJBSVRTLkJJTiwgVFJBSVRTLkNPTi5SQU5LLCAiU3ltcHRvbXMuNUciLCAiQXN5bXB0U3ltcHQiLCAiRVBfbWFqb3IiLCAiRVBfY29tcG9zaXRlIiksCiAgICAgICAgY29sdW1uTGFiZWxzID0gYygiTUNQMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAiQ2FsY2lmaWNhdGlvbiIsICJDb2xsYWdlbiIsICJGYXQgMTAlIiwgIklQSCIsICJNYWNyb3BoYWdlcyAoYmlubmVkKSIsICJTTUMgKGJpbm5lZCkiLCAiTWFjcm9waGFnZXMiLCAiU01DIiwgIlZlc3NlbCBkZW5zaXR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICJTeW1wdG9tcyIsICJTeW1wdG9tcyAoZ3JvdXBlZCkiLCAiTUFDRSIsICJDb21wb3NpdGUiKSwKICAgICAgICBtZXRob2QgPSBjKCJzcGVhcm1hbiIpLAogICAgICAgICMgZ2dwbG90Mjo6YWVzKGNvbG91ciA9IEdlbmRlciksCiAgICAgICAgcHJvZ3Jlc3MgPSBGQUxTRSkKCmBgYAoKIyMgQ2lyY3VsYXRpbmcgTUNQMQoKRmluYWxseSwgd2UgZXhwbG9yZWQgaW4gYSBzdWItc2FtcGxlLCB3aGVyZSBjaXJjdWxhdGluZyBNQ1AtMSBsZXZlbHMgYXJlIGF2YWlsYWJsZSwgdGhlIGZvbGxvd2luZzoKCjEuIEEgY29ycmVsYXRpb24gYmV0d2VlbiBNQ1AtMSBsZXZlbHMgaW4gdGhlIHBsYXF1ZSBhbmQgY2lyY3VsYXRpbmcgTUNQLTEgbGV2ZWxzCjIuIEFzc29jaWF0aW9ucyBvZiBjaXJjdWxhdGluZyBNQ1AtMSBsZXZlbHMgd2l0aCBwbGFxdWUgdnVsbmVyYWJpbGl0eSBjaGFyYWN0ZXJpc3RpY3MKMy4gQXNzb2NpYXRpb25zIG9mIGNpcmN1bGF0aW5nIE1DUC0xIGxldmVscyB3aXRoIHRoZSBzdGF0dXMgb2YgdGhlIHBsYXF1ZSBpbiB0ZXJtcyBvZiBwcmVzZW5jZSBvZiBzeW1wdG9tcyAoc3ltcHRvbWF0aWMgdnMuIGFzeW1wdG9tYXRpYykKNC4gQXNzb2NpYXRpb25zIG9mIGNpcmN1bGF0aW5nIE1DUC0xIGxldmVscyB3aXRoIHRoZSBwcmltYXJ5IGNvbXBvc2l0ZSBlbmRwb2ludCBvZiBzZWNvbmRhcnkgY2FyZGlvdmFzY3VsYXIgZXZlbnRzLgoKYGBge3IgTUNQMSBwbGFzbWEgQ29ycmVsYXRpb25zfQoKIyBJbnN0YWxsYXRpb24gb2YgZ2djb3JycGxvdCgpCiMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KaWYoIXJlcXVpcmUoZGV2dG9vbHMpKSAKICBpbnN0YWxsLnBhY2thZ2VzKCJkZXZ0b29scyIpCmRldnRvb2xzOjppbnN0YWxsX2dpdGh1Yigia2Fzc2FtYmFyYS9nZ2NvcnJwbG90IikKCmxpYnJhcnkoZ2djb3JycGxvdCkKCgojIENyZWF0aW5nIG1hdHJpeCAtIGludmVyc2UtcmFuayB0cmFuc2Zvcm1hdGlvbgojIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCkFFREIuQ0VBLnRlbXAgPC0gc3Vic2V0KEFFREIuQ0VBLCAKICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3QgPSBjKCJNQ1AxX3BsYXNtYV9vbGlua19yYW5rIiwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUUkFJVFMuQklOLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVFJBSVRTLkNPTi5SQU5LLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJTeW1wdG9tcy41RyIsICJBc3ltcHRTeW1wdCIsICJFUF9tYWpvciIsICJFUF9jb21wb3NpdGUiKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgpBRURCLkNFQS50ZW1wJENhbGNpZmljYXRpb25QbGFxdWUgPC0gYXMubnVtZXJpYyhBRURCLkNFQS50ZW1wJENhbGNpZmljYXRpb25QbGFxdWUpCkFFREIuQ0VBLnRlbXAkQ29sbGFnZW5QbGFxdWUgPC0gYXMubnVtZXJpYyhBRURCLkNFQS50ZW1wJENvbGxhZ2VuUGxhcXVlKQpBRURCLkNFQS50ZW1wJEZhdDEwUGVyYyA8LSBhcy5udW1lcmljKEFFREIuQ0VBLnRlbXAkRmF0MTBQZXJjKQpBRURCLkNFQS50ZW1wJE1BQ19iaW5uZWQgPC0gYXMubnVtZXJpYyhBRURCLkNFQS50ZW1wJE1BQ19iaW5uZWQpCkFFREIuQ0VBLnRlbXAkU01DX2Jpbm5lZCA8LSBhcy5udW1lcmljKEFFREIuQ0VBLnRlbXAkU01DX2Jpbm5lZCkKQUVEQi5DRUEudGVtcCRJUEggPC0gYXMubnVtZXJpYyhBRURCLkNFQS50ZW1wJElQSCkKQUVEQi5DRUEudGVtcCRTeW1wdG9tcy41RyA8LSBhcy5udW1lcmljKEFFREIuQ0VBLnRlbXAkU3ltcHRvbXMuNUcpCkFFREIuQ0VBLnRlbXAkQXN5bXB0U3ltcHQgPC0gYXMubnVtZXJpYyhBRURCLkNFQS50ZW1wJEFzeW1wdFN5bXB0KQpBRURCLkNFQS50ZW1wJEVQX21ham9yIDwtIGFzLm51bWVyaWMoQUVEQi5DRUEudGVtcCRFUF9tYWpvcikKQUVEQi5DRUEudGVtcCRFUF9jb21wb3NpdGUgPC0gYXMubnVtZXJpYyhBRURCLkNFQS50ZW1wJEVQX2NvbXBvc2l0ZSkKIyBzdHIoQUVEQi5DRUEudGVtcCkKQUVEQi5DRUEubWF0cml4LnBsYXNtYS5SQU5LIDwtIGFzLm1hdHJpeChBRURCLkNFQS50ZW1wKQpybShBRURCLkNFQS50ZW1wKQoKY29ycl9iaW9tYXJrZXJzX3BsYXNtYS5yYW5rIDwtIHJvdW5kKGNvcihBRURCLkNFQS5tYXRyaXgucGxhc21hLlJBTkssIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZSA9ICJwYWlyd2lzZS5jb21wbGV0ZS5vYnMiLCAjdGhlIGNvcnJlbGF0aW9uIG9yIGNvdmFyaWFuY2UgYmV0d2VlbiBlYWNoIHBhaXIgb2YgdmFyaWFibGVzIGlzIGNvbXB1dGVkIHVzaW5nIGFsbCBjb21wbGV0ZSBwYWlycyBvZiBvYnNlcnZhdGlvbnMgb24gdGhvc2UgdmFyaWFibGVzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWV0aG9kID0gInNwZWFybWFuIiksIDMpCiMgY29ycl9iaW9tYXJrZXJzLnJhbmsKCmNvcnJfYmlvbWFya2Vyc19wbGFzbWFfcC5yYW5rIDwtIGdnY29ycnBsb3Q6OmNvcl9wbWF0KEFFREIuQ0VBLm1hdHJpeC5wbGFzbWEuUkFOSywgdXNlID0gInBhaXJ3aXNlLmNvbXBsZXRlLm9icyIsIG1ldGhvZCA9ICJzcGVhcm1hbiIpCgojIEFkZCBjb3JyZWxhdGlvbiBjb2VmZmljaWVudHMKIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIGFyZ3VtZW50IGxhYiA9IFRSVUUKZ2djb3JycGxvdChjb3JyX2Jpb21hcmtlcnNfcGxhc21hLnJhbmssIAogICAgICAgICAgIG1ldGhvZCA9ICJzcXVhcmUiLCAKICAgICAgICAgICB0eXBlID0gImxvd2VyIiwKICAgICAgICAgICB0aXRsZSA9ICJDcm9zcyBiaW9tYXJrZXIgY29ycmVsYXRpb25zIiwgCiAgICAgICAgICAgc2hvdy5sZWdlbmQgPSBUUlVFLCBsZWdlbmQudGl0bGUgPSBicXVvdGUoIlNwZWFybWFuJ3Mifml0YWxpYyhyaG8pKSwKICAgICAgICAgICBnZ3RoZW1lID0gZ2dwbG90Mjo6dGhlbWVfbWluaW1hbCwgb3V0bGluZS5jb2xvciA9ICIjRkZGRkZGIiwKICAgICAgICAgICBzaG93LmRpYWcgPSBUUlVFLAogICAgICAgICAgIGhjLm9yZGVyID0gRkFMU0UsIAogICAgICAgICAgIGxhYiA9IEZBTFNFLAogICAgICAgICAgIGRpZ2l0cyA9IDMsCiAgICAgICAgICAgIyBwLm1hdCA9IGNvcnJfYmlvbWFya2Vyc19wbGFzbWFfcC5yYW5rLCBzaWcubGV2ZWwgPSAwLjA1LAogICAgICAgICAgIGNvbG9ycyA9IGMoIiMxMjkwRDkiLCAiI0ZGRkZGRiIsICIjRTU1NzM4IikpCgpgYGAKCmBgYHtyIE1DUDEgcGxhc21hIENvcnJlbGF0aW9ucyB0YWJsZX0KIyBmbGF0dGVuQ29yck1hdHJpeAojIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgY29ybWF0IDogbWF0cml4IG9mIHRoZSBjb3JyZWxhdGlvbiBjb2VmZmljaWVudHMKIyBwbWF0IDogbWF0cml4IG9mIHRoZSBjb3JyZWxhdGlvbiBwLXZhbHVlcwpmbGF0dGVuQ29yck1hdHJpeCA8LSBmdW5jdGlvbihjb3JtYXQsIHBtYXQpIHsKICB1dCA8LSB1cHBlci50cmkoY29ybWF0KQogIGRhdGEuZnJhbWUoCiAgICBiaW9tYXJrZXJfcm93ID0gcm93bmFtZXMoY29ybWF0KVtyb3coY29ybWF0KVt1dF1dLAogICAgYmlvbWFya2VyX2NvbHVtbiA9IHJvd25hbWVzKGNvcm1hdClbY29sKGNvcm1hdClbdXRdXSwKICAgIHNwZWFybWFuX2NvciAgPShjb3JtYXQpW3V0XSwKICAgIHB2YWwgPSBwbWF0W3V0XQogICAgKQp9CgoKY29ycl9iaW9tYXJrZXJzX3BsYXNtYS5yYW5rLmRmIDwtIGFzLmRhdGEudGFibGUoZmxhdHRlbkNvcnJNYXRyaXgoY29ycl9iaW9tYXJrZXJzX3BsYXNtYS5yYW5rLCBjb3JyX2Jpb21hcmtlcnNfcGxhc21hX3AucmFuaykpCkRUOjpkYXRhdGFibGUoY29ycl9iaW9tYXJrZXJzX3BsYXNtYS5yYW5rLmRmKQpgYGAKCmBgYHtyIE1DUDEgcGxhc21hIENvcnJlbGF0aW9ucyBhbHRlcm5hdGl2ZSB2aXN1YWwgMX0KIyBjaGFydCBvZiBhIGNvcnJlbGF0aW9uIG1hdHJpeAojIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQWx0ZXJuYXRpdmUgc29sdXRpb24gaHR0cHM6Ly93d3cuci1ncmFwaC1nYWxsZXJ5LmNvbS8xOTktY29ycmVsYXRpb24tbWF0cml4LXdpdGgtZ2dhbGx5Lmh0bWwKaW5zdGFsbC5wYWNrYWdlcy5hdXRvKCJQZXJmb3JtYW5jZUFuYWx5dGljcyIpCmNoYXJ0LkNvcnJlbGF0aW9uLm5ldyA8LSBmdW5jdGlvbiAoUiwgaGlzdG9ncmFtID0gVFJVRSwgbWV0aG9kID0gYygicGVhcnNvbiIsICJrZW5kYWxsIiwgCiAgICAic3BlYXJtYW4iKSwgLi4uKSAKewogICAgeCA9IGNoZWNrRGF0YShSLCBtZXRob2QgPSAibWF0cml4IikKICAgIGlmIChtaXNzaW5nKG1ldGhvZCkpIAogICAgICAgIG1ldGhvZCA9IG1ldGhvZFsxXQogICAgY29ybWV0aCA8LSBtZXRob2QKICAgIHBhbmVsLmNvciA8LSBmdW5jdGlvbih4LCB5LCBkaWdpdHMgPSAyLCBwcmVmaXggPSAiIiwgdXNlID0gInBhaXJ3aXNlLmNvbXBsZXRlLm9icyIsIAogICAgICAgIG1ldGhvZCA9IGNvcm1ldGgsIGNleC5jb3IsIC4uLikgewogICAgICAgIHVzciA8LSBwYXIoInVzciIpCiAgICAgICAgb24uZXhpdChwYXIodXNyKSkKICAgICAgICBwYXIodXNyID0gYygwLCAxLCAwLCAxKSkKICAgICAgICByIDwtIGNvcih4LCB5LCB1c2UgPSB1c2UsIG1ldGhvZCA9IG1ldGhvZCkKICAgICAgICB0eHQgPC0gZm9ybWF0KGMociwgMC4xMjM0NTY3ODkpLCBkaWdpdHMgPSBkaWdpdHMpWzFdCiAgICAgICAgdHh0IDwtIHBhc3RlKHByZWZpeCwgdHh0LCBzZXAgPSAiIikKICAgICAgICBpZiAobWlzc2luZyhjZXguY29yKSkgCiAgICAgICAgICAgIGNleCA8LSAwLjgvc3Ryd2lkdGgodHh0KQogICAgICAgIHRlc3QgPC0gY29yLnRlc3QoYXMubnVtZXJpYyh4KSwgYXMubnVtZXJpYyh5KSwgbWV0aG9kID0gbWV0aG9kKQogICAgICAgIFNpZ25pZiA8LSBzeW1udW0odGVzdCRwLnZhbHVlLCBjb3JyID0gRkFMU0UsIG5hID0gRkFMU0UsIAogICAgICAgICAgICBjdXRwb2ludHMgPSBjKDAsIDAuMDAxLCAwLjAxLCAwLjA1LCAwLjEsIDEpLCBzeW1ib2xzID0gYygiKioqIiwgCiAgICAgICAgICAgICAgICAiKioiLCAiKiIsICIuIiwgIiAiKSkKICAgICAgICB0ZXh0KDAuNSwgMC41LCB0eHQsIGNleCA9IGNleCAqIChhYnMocikgKyAwLjMpLzEuMykKICAgICAgICB0ZXh0KDAuOCwgMC44LCBTaWduaWYsIGNleCA9IGNleCwgY29sID0gMikKICAgIH0KICAgIGYgPC0gZnVuY3Rpb24odCkgewogICAgICAgIGRub3JtKHQsIG1lYW4gPSBtZWFuKHgpLCBzZCA9IHNkLnh0cyh4KSkKICAgIH0KICAgIGRvdGFyZ3MgPC0gbGlzdCguLi4pCiAgICBkb3RhcmdzJG1ldGhvZCA8LSBOVUxMCiAgICBybShtZXRob2QpCiAgICBoaXN0LnBhbmVsID0gZnVuY3Rpb24oeCwgLi4uID0gTlVMTCkgewogICAgICAgIHBhcihuZXcgPSBUUlVFKQogICAgICAgIGhpc3QoeCwgY29sID0gIiMxMjkwRDkiLCBwcm9iYWJpbGl0eSA9IFRSVUUsIGF4ZXMgPSBGQUxTRSwgCiAgICAgICAgIyBoaXN0KHgsIGNvbCA9ICJsaWdodCBncmF5IiwgcHJvYmFiaWxpdHkgPSBUUlVFLCBheGVzID0gRkFMU0UsIAogICAgICAgICAgICBtYWluID0gIiIsIGJyZWFrcyA9ICJGRCIpCiAgICAgICAgbGluZXMoZGVuc2l0eSh4LCBuYS5ybSA9IFRSVUUpLCBjb2wgPSAiI0U1NTczOCIsIGx3ZCA9IDEpCiAgICAgICAgcnVnKHgpCiAgICB9CiAgICBpZiAoaGlzdG9ncmFtKSAKICAgICAgICBwYWlycyh4LCBnYXAgPSAwLCBsb3dlci5wYW5lbCA9IHBhbmVsLnNtb290aCwgdXBwZXIucGFuZWwgPSBwYW5lbC5jb3IsIAogICAgICAgICAgICBkaWFnLnBhbmVsID0gaGlzdC5wYW5lbCwgLi4uKQogICAgZWxzZSBwYWlycyh4LCBnYXAgPSAwLCBsb3dlci5wYW5lbCA9IHBhbmVsLnNtb290aCwgdXBwZXIucGFuZWwgPSBwYW5lbC5jb3IsIC4uLikKfQoKY2hhcnQuQ29ycmVsYXRpb24ubmV3KEFFREIuQ0VBLm1hdHJpeC5wbGFzbWEuUkFOSywgbWV0aG9kID0gInNwZWFybWFuIiwgaGlzdG9ncmFtID0gVFJVRSwgcGNoID0gMykKYGBgCgoKYGBge3IgTUNQMSBwbGFzbWEgQ29ycmVsYXRpb25zIGFsdGVybmF0aXZlIHZpc3VhbCAyfQojIGFsdGVybmF0aXZlIGNoYXJ0IG9mIGEgY29ycmVsYXRpb24gbWF0cml4CiMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBBbHRlcm5hdGl2ZSBzb2x1dGlvbiBodHRwczovL3d3dy5yLWdyYXBoLWdhbGxlcnkuY29tLzE5OS1jb3JyZWxhdGlvbi1tYXRyaXgtd2l0aC1nZ2FsbHkuaHRtbAppbnN0YWxsLnBhY2thZ2VzLmF1dG8oIkdHYWxseSIpCgojIFF1aWNrIGRpc3BsYXkgb2YgdHdvIGNhYmFwaWxpdGllcyBvZiBHR2FsbHksIHRvIGFzc2VzcyB0aGUgZGlzdHJpYnV0aW9uIGFuZCBjb3JyZWxhdGlvbiBvZiB2YXJpYWJsZXMgCmxpYnJhcnkoR0dhbGx5KQogCiMgRnJvbSB0aGUgaGVscCBwYWdlOgpnZ3BhaXJzKEFFREIuQ0VBLAogICAgICAgIGNvbHVtbnMgPSBjKCJNQ1AxX3JhbmsiLCBUUkFJVFMuQklOLCBUUkFJVFMuQ09OLlJBTkssICJTeW1wdG9tcy41RyIsICJBc3ltcHRTeW1wdCIsICJFUF9tYWpvciIsICJFUF9jb21wb3NpdGUiKSwgCiAgICAgICAgY29sdW1uTGFiZWxzID0gYygiTUNQMSAocGxhc21hKSIsIAogICAgICAgICAgICAgICAgICAgICAgICAgIkNhbGNpZmljYXRpb24iLCAiQ29sbGFnZW4iLCAiRmF0IDEwJSIsICJJUEgiLCAiTWFjcm9waGFnZXMgKGJpbm5lZCkiLCAiU01DIChiaW5uZWQpIiwgIk1hY3JvcGhhZ2VzIiwgIlNNQyIsICJWZXNzZWwgZGVuc2l0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAiU3ltcHRvbXMiLCAiU3ltcHRvbXMgKGdyb3VwZWQpIiwgIk1BQ0UiLCAiQ29tcG9zaXRlIiksCiAgICAgICAgbWV0aG9kID0gYygic3BlYXJtYW4iKSwKICAgICAgICAjIGdncGxvdDI6OmFlcyhjb2xvdXIgPSBHZW5kZXIpLAogICAgICAgIHByb2dyZXNzID0gRkFMU0UpIApgYGAKCiMgQWRkaXRpb25hbCBmaWd1cmVzCgojIyBBZ2UgYW5kIHNleApXZSB3YW50IHRvIGNyZWF0ZSBwZXItYWdlLWdyb3VwIGZpZ3VyZXMuIAoKLSBCb3ggYW5kIFdoaXNrZXIgcGxvdCBmb3IgTUNQLTEgcGxhcXVlIGxldmVscyBieSBzZXggYW5kIGFnZSBncm91cCAoPDU1LCA1NS02NCwgNjUtNzQsIDc1LTg0LCA4NSspCi0gQm94IGFuZCBXaGlza2VyIHBsb3QgZm9yIE1DUC0xIHBsYXNtYSBsZXZlbHMgYnkgc2V4IGFuZCBhZ2UgZ3JvdXAgKDw1NSwgNTUtNjQsIDY1LTc0LCA3NS04NCwgODUrKQotIFNjYXR0ZXIgcGxvdCBvZiB0aGUgY29ycmVsYXRpb24gYW5kIHJlZ3Jlc3Npb24gbGluZSBiZXR3ZWVuIE1DUC0xIGxldmVscyBpbiBwbGFxdWUgKHkgYXhpcykgYW5kIHBsYXNtYSAoeCBheGlzKS4KCgpgYGB7ciBBZ2VHcm91cHN9CmxpYnJhcnkoZHBseXIpCgpBRURCLkNFQSA8LSBBRURCLkNFQSAlPiUgbXV0YXRlKEFnZUdyb3VwID0gZmFjdG9yKGNhc2Vfd2hlbihBZ2UgPCA1NSB+ICI8NTUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFnZSA+PSA1NSAgJiBBZ2UgPD0gNjQgfiAiNTUtNjQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFnZSA+PSA2NSAgJiBBZ2UgPD0gNzQgfiAiNjUtNzQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFnZSA+PSA3NSAgJiBBZ2UgPD0gODQgfiAiNzUtODQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFnZSA+PSA4NSB+ICI4NSsiKSkpIAoKQUVEQi5DRUEgPC0gQUVEQi5DRUEgJT4lIG11dGF0ZShBZ2VHcm91cFNleCA9IGZhY3RvcihjYXNlX3doZW4oQWdlIDwgNTUgJiBHZW5kZXIgPT0gIm1hbGUiIH4gIjw1NSBtYWxlcyIgLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFnZSA+PSA1NSAgJiBBZ2UgPD0gNjQgJiBHZW5kZXIgPT0gIm1hbGUifiAiNTUtNjQgbWFsZXMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFnZSA+PSA2NSAgJiBBZ2UgPD0gNzQgJiBHZW5kZXIgPT0gIm1hbGUifiAiNjUtNzQgbWFsZXMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFnZSA+PSA3NSAgJiBBZ2UgPD0gODQgJiBHZW5kZXIgPT0gIm1hbGUifiAiNzUtODQgbWFsZXMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFnZSA+PSA4NSAmIEdlbmRlciA9PSAibWFsZSJ+ICI4NSsgbWFsZXMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFnZSA8IDU1ICYgR2VuZGVyID09ICJmZW1hbGUiIH4gIjw1NSBmZW1hbGVzIiAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQWdlID49IDU1ICAmIEFnZSA8PSA2NCAmIEdlbmRlciA9PSAiZmVtYWxlIn4gIjU1LTY0IGZlbWFsZXMgIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBZ2UgPj0gNjUgICYgQWdlIDw9IDc0ICYgR2VuZGVyID09ICJmZW1hbGUifiAiNjUtNzQgZmVtYWxlcyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQWdlID49IDc1ICAmIEFnZSA8PSA4NCAmIEdlbmRlciA9PSAiZmVtYWxlIn4gIjc1LTg0IGZlbWFsZXMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFnZSA+PSA4NSAmIEdlbmRlciA9PSAiZmVtYWxlIn4gIjg1KyBmZW1hbGVzIikpKQoKdGFibGUoQUVEQi5DRUEkQWdlR3JvdXAsIEFFREIuQ0VBJEdlbmRlcikKdGFibGUoQUVEQi5DRUEkQWdlR3JvdXBTZXgpCgpgYGAKCk5vdyB3ZSBjYW4gZHJhdyBzb21lIGdyYXBocyBvZiBwbGFzbWEvcGxhcXVlIE1DUDEgbGV2ZWxzIHBlciBzZXggYW5kIGFnZSBncm91cC4KCiMjIyBJbnZlcnNlLXJhbmsgdHJhbnNmb3JtZWQgZGF0YQoKIyMjIyBNQ1AxIHBsYXF1ZSBsZXZlbHMKCmBgYHtyIE1DUDEgcGVyIEFnZUdyb3VwIHBlciBTZXgsIHJhbmtlZH0KCiMgP2dncHVicjo6Z2dib3hwbG90KCkKCiMgR2xvYmFsIHRlc3QKIyBjb21wYXJlX21lYW5zKE1DUDFfcGdfdWdfMjAxNV9yYW5rIH4gR2VuZGVyLCAgZGF0YSA9IEFFREIuQ0VBLCBtZXRob2QgPSAid2lsY294LnRlc3QiKQpnZ3B1YnI6OmdnYm94cGxvdChBRURCLkNFQSwgCiAgICAgICAgICAgICAgICAgIHggPSBjKCJBZ2VHcm91cCIpLAogICAgICAgICAgICAgICAgICB5ID0gIk1DUDFfcGdfdWdfMjAxNV9yYW5rIiwgCiAgICAgICAgICAgICAgICAgIHhsYWIgPSAiQWdlIGdyb3VwcyAoeWVhcnMpIiwKICAgICAgICAgICAgICAgICAgeWxhYiA9ICJNQ1AxIHBsYXF1ZSBbcGcvdWddXG4oaW52ZXJzZS1yYW5rIHRyYW5zZm9ybWF0aW9uKSIsCiAgICAgICAgICAgICAgICAgIGNvbG9yID0gIkFnZUdyb3VwIiwKICAgICAgICAgICAgICAgICAgcGFsZXR0ZSA9ICJucGciLAogICAgICAgICAgICAgICAgICBhZGQgPSAiaml0dGVyIikgIysKICAjIHN0YXRfY29tcGFyZV9tZWFucyhtZXRob2QgPSAid2lsY294LnRlc3QiKQpnZ3NhdmUoZmlsZSA9IHBhc3RlMChQTE9UX2xvYywgIi8iLFRvZGF5LCIuQUVEQi5DRUEuTUNQMS5wbGFxdWUuQWdlR3JvdXAucGRmIiksIHBsb3QgPSBsYXN0X3Bsb3QoKSkKCiMgY29tcGFyZV9tZWFucyhNQ1AxX3BnX3VnXzIwMTVfcmFuayB+IEFnZUdyb3VwLCAgZGF0YSA9IEFFREIuQ0VBLCBtZXRob2QgPSAia3J1c2thbC50ZXN0IikKZ2dwdWJyOjpnZ2JveHBsb3QoQUVEQi5DRUEsIAogICAgICAgICAgICAgICAgICB4ID0gYygiQWdlR3JvdXAiKSwKICAgICAgICAgICAgICAgICAgeSA9ICJNQ1AxX3BnX3VnXzIwMTVfcmFuayIsIAogICAgICAgICAgICAgICAgICB4bGFiID0gIkFnZSBncm91cHMgKHllYXJzKSBwZXIgZ2VuZGVyIiwKICAgICAgICAgICAgICAgICAgeWxhYiA9ICJNQ1AxIHBsYXF1ZSBbcGcvdWddXG4oaW52ZXJzZS1yYW5rIHRyYW5zZm9ybWF0aW9uKSIsCiAgICAgICAgICAgICAgICAgIGNvbG9yID0gIkdlbmRlciIsCiAgICAgICAgICAgICAgICAgIHBhbGV0dGUgPSBjKCIjRDUyNjdCIiwgIiMxMjkwRDkiKSwKICAgICAgICAgICAgICAgICAgYWRkID0gImppdHRlciIpICMrCiAgIyBzdGF0X2NvbXBhcmVfbWVhbnMobWV0aG9kID0gImtydXNrYWwudGVzdCIpCmdnc2F2ZShmaWxlID0gcGFzdGUwKFBMT1RfbG9jLCAiLyIsVG9kYXksIi5BRURCLkNFQS5NQ1AxLnBsYXF1ZS5BZ2VHcm91cF9wZXJHZW5kZXIucGRmIiksIHBsb3QgPSBsYXN0X3Bsb3QoKSkKYGBgCgojIyMjIE1DUDEgcGxhc21hIGxldmVscwoKYGBge3IgTUNQMSBwZXIgQWdlR3JvdXAgcGVyIFNleCwgcmFua2VkIHBsYXNtYX0KIyBjb21wYXJlX21lYW5zKE1DUDFfcmFuayB+IEdlbmRlciwgIGRhdGEgPSBBRURCLkNFQSwgbWV0aG9kID0gIndpbGNveC50ZXN0IikKZ2dwdWJyOjpnZ2JveHBsb3QoQUVEQi5DRUEsCiAgICAgICAgICAgICAgICAgIHggPSBjKCJBZ2VHcm91cCIpLAogICAgICAgICAgICAgICAgICB5ID0gIk1DUDFfcGxhc21hX29saW5rX3JhbmsiLAogICAgICAgICAgICAgICAgICB4bGFiID0gIkFnZSBncm91cHMgKHllYXJzKSIsCiAgICAgICAgICAgICAgICAgIHlsYWIgPSAiTUNQMSBwbGFzbWEgW0FVXVxuKGludmVyc2UtcmFuayB0cmFuc2Zvcm1hdGlvbikiLAogICAgICAgICAgICAgICAgICBjb2xvciA9ICJBZ2VHcm91cCIsCiAgICAgICAgICAgICAgICAgIHBhbGV0dGUgPSAibnBnIiwKICAgICAgICAgICAgICAgICAgYWRkID0gImppdHRlciIpICMrCiAgIyBzdGF0X2NvbXBhcmVfbWVhbnMobWV0aG9kID0gIndpbGNveC50ZXN0IikKZ2dzYXZlKGZpbGUgPSBwYXN0ZTAoUExPVF9sb2MsICIvIixUb2RheSwiLkFFREIuQ0VBLk1DUDEucGxhc21hLkFnZUdyb3VwLnBkZiIpLCBwbG90ID0gbGFzdF9wbG90KCkpCiMgY29tcGFyZV9tZWFucyhNQ1AxX3JhbmsgfiBBZ2VHcm91cCwgIGRhdGEgPSBBRURCLkNFQSwgbWV0aG9kID0gImtydXNrYWwudGVzdCIpCmdncHVicjo6Z2dib3hwbG90KEFFREIuQ0VBLAogICAgICAgICAgICAgICAgICB4ID0gYygiQWdlR3JvdXAiKSwKICAgICAgICAgICAgICAgICAgeSA9ICJNQ1AxX3BsYXNtYV9vbGlua19yYW5rIiwKICAgICAgICAgICAgICAgICAgeGxhYiA9ICJBZ2UgZ3JvdXBzICh5ZWFycykgcGVyIGdlbmRlciIsCiAgICAgICAgICAgICAgICAgIHlsYWIgPSAiTUNQMSBwbGFzbWEgW0FVXVxuKGludmVyc2UtcmFuayB0cmFuc2Zvcm1hdGlvbikiLAogICAgICAgICAgICAgICAgICBjb2xvciA9ICJHZW5kZXIiLAogICAgICAgICAgICAgICAgICBwYWxldHRlID0gYygiI0Q1MjY3QiIsICIjMTI5MEQ5IiksCiAgICAgICAgICAgICAgICAgIGFkZCA9ICJqaXR0ZXIiKSAjKwogICMgc3RhdF9jb21wYXJlX21lYW5zKG1ldGhvZCA9ICJrcnVza2FsLnRlc3QiKQpnZ3NhdmUoZmlsZSA9IHBhc3RlMChQTE9UX2xvYywgIi8iLFRvZGF5LCIuQUVEQi5DRUEuTUNQMS5wbGFzbWEuQWdlR3JvdXBfcGVyR2VuZGVyLnBkZiIpLCBwbG90ID0gbGFzdF9wbG90KCkpCgpgYGAKCiMjIyBSYXcgZGF0YQoKU2ltYWxhcmx5IGJ1dCBub3cgZm9yIHRoZSByYXcgZGF0YSBhcyBtZWRpYW4gwrEgaW50ZXJxdWFydGlsZSByYW5nZS4KCiMjIyMgTUNQMSBwbGFxdWUgbGV2ZWxzCgoKYGBge3IgTUNQMSBwZXIgQWdlR3JvdXAgcGVyIFNleH0KCiMgP2dncHVicjo6Z2dib3hwbG90KCkKZ2dwdWJyOjpnZ2JveHBsb3QoQUVEQi5DRUEsIAogICAgICAgICAgICAgICAgICB4ID0gYygiQWdlR3JvdXAiKSwKICAgICAgICAgICAgICAgICAgeSA9ICJNQ1AxX3BnX3VnXzIwMTUiLCAKICAgICAgICAgICAgICAgICAgeGxhYiA9ICJBZ2UgZ3JvdXBzICh5ZWFycykiLAogICAgICAgICAgICAgICAgICB5bGFiID0gIk1DUDEgcGxhcXVlIFtwZy91Z10iLAogICAgICAgICAgICAgICAgICBjb2xvciA9ICJBZ2VHcm91cCIsCiAgICAgICAgICAgICAgICAgIHBhbGV0dGUgPSAibnBnIiwKICAgICAgICAgICAgICAgICAgIyBhZGQgPSAibWVkaWFuX2lxciIpCiAgICAgICAgICAgICAgICAgIGFkZCA9IGMoIm1lZGlhbl9pcXIiLCAiaml0dGVyIikpCmdnc2F2ZShmaWxlID0gcGFzdGUwKFBMT1RfbG9jLCAiLyIsVG9kYXksIi5BRURCLkNFQS5NQ1AxLnBsYXF1ZS5yYXcuQWdlR3JvdXAucGRmIiksIHBsb3QgPSBsYXN0X3Bsb3QoKSkKCmdncHVicjo6Z2dib3hwbG90KEFFREIuQ0VBLCAKICAgICAgICAgICAgICAgICAgeCA9IGMoIkFnZUdyb3VwIiksCiAgICAgICAgICAgICAgICAgIHkgPSAiTUNQMV9wZ191Z18yMDE1IiwgCiAgICAgICAgICAgICAgICAgIHhsYWIgPSAiQWdlIGdyb3VwcyAoeWVhcnMpIHBlciBnZW5kZXIiLAogICAgICAgICAgICAgICAgICB5bGFiID0gIk1DUDEgcGxhcXVlIFtwZy91Z10iLAogICAgICAgICAgICAgICAgICBjb2xvciA9ICJHZW5kZXIiLAogICAgICAgICAgICAgICAgICBwYWxldHRlID0gYygiI0Q1MjY3QiIsICIjMTI5MEQ5IiksCiAgICAgICAgICAgICAgICAgICMgYWRkID0gIm1lZGlhbl9pcXIiKQogICAgICAgICAgICAgICAgICBhZGQgPSBjKCJtZWRpYW5faXFyIiwgImppdHRlciIpKQpnZ3NhdmUoZmlsZSA9IHBhc3RlMChQTE9UX2xvYywgIi8iLFRvZGF5LCIuQUVEQi5DRUEuTUNQMS5wbGFxdWUucmF3LkFnZUdyb3VwX3BlckdlbmRlci5wZGYiKSwgcGxvdCA9IGxhc3RfcGxvdCgpKQpgYGAKCiMjIyBNQ1AxIHBsYXNtYSBsZXZlbHMKCgpgYGB7ciBNQ1AxIHBlciBBZ2VHcm91cCBwZXIgU2V4LCBwbGFzbWF9CmdncHVicjo6Z2dib3hwbG90KEFFREIuQ0VBLCAKICAgICAgICAgICAgICAgICAgeCA9IGMoIkFnZUdyb3VwIiksCiAgICAgICAgICAgICAgICAgIHkgPSAiTUNQMV9wbGFzbWFfb2xpbmsiLCAKICAgICAgICAgICAgICAgICAgeGxhYiA9ICJBZ2UgZ3JvdXBzICh5ZWFycykiLAogICAgICAgICAgICAgICAgICB5bGFiID0gIk1DUDEgcGxhc21hIFtBVV0iLAogICAgICAgICAgICAgICAgICBjb2xvciA9ICJBZ2VHcm91cCIsCiAgICAgICAgICAgICAgICAgIHBhbGV0dGUgPSAibnBnIiwKICAgICAgICAgICAgICAgICAgIyBhZGQgPSAibWVkaWFuX2lxciIpCiAgICAgICAgICAgICAgICAgIGFkZCA9IGMoIm1lZGlhbl9pcXIiLCAiaml0dGVyIikpCmdnc2F2ZShmaWxlID0gcGFzdGUwKFBMT1RfbG9jLCAiLyIsVG9kYXksIi5BRURCLkNFQS5NQ1AxLnBsYXNtYS5yYXcuQWdlR3JvdXAucGRmIiksIHBsb3QgPSBsYXN0X3Bsb3QoKSkKCmdncHVicjo6Z2dib3hwbG90KEFFREIuQ0VBLCAKICAgICAgICAgICAgICAgICAgeCA9IGMoIkFnZUdyb3VwIiksCiAgICAgICAgICAgICAgICAgIHkgPSAiTUNQMV9wbGFzbWFfb2xpbmsiLCAKICAgICAgICAgICAgICAgICAgeGxhYiA9ICJBZ2UgZ3JvdXBzICh5ZWFycykgcGVyIGdlbmRlciIsCiAgICAgICAgICAgICAgICAgIHlsYWIgPSAiTUNQMSBwbGFzbWEgW0FVXSIsCiAgICAgICAgICAgICAgICAgIGNvbG9yID0gIkdlbmRlciIsCiAgICAgICAgICAgICAgICAgIHBhbGV0dGUgPSBjKCIjRDUyNjdCIiwgIiMxMjkwRDkiKSwKICAgICAgICAgICAgICAgICAgIyBhZGQgPSAibWVkaWFuX2lxciIpCiAgICAgICAgICAgICAgICAgIGFkZCA9IGMoIm1lZGlhbl9pcXIiLCAiaml0dGVyIikpCmdnc2F2ZShmaWxlID0gcGFzdGUwKFBMT1RfbG9jLCAiLyIsVG9kYXksIi5BRURCLkNFQS5NQ1AxLnBsYXNtYS5yYXcuQWdlR3JvdXBfcGVyR2VuZGVyLnBkZiIpLCBwbG90ID0gbGFzdF9wbG90KCkpCmBgYAoKCiMjIEh5cGVydGVuc2lvbiAmIGJsb29kIHByZXNzdXJlCldlIHdhbnQgdG8gY3JlYXRlIGZpZ3VyZXMgb2YgTUNQMSBsZXZlbHMgc3RyYXRpZmllZCBieSBoeXBlcnRlbnNpb24vYmxvb2QgcHJlc3N1cmUsIGFuZCB1c2Ugb2YgYW50aS1oeXBlcnRlbnNpdmUgZHJ1Z3MuIAoKLSBCb3ggYW5kIFdoaXNrZXIgcGxvdCBmb3IgTUNQLTEgcGxhcXVlIGxldmVscyBieSBoeXBlcnRlbnNpb24gZ3JvdXAgKG5vLCB5ZXMpCi0gQm94IGFuZCBXaGlza2VyIHBsb3QgZm9yIE1DUC0xIHBsYXNtYSBsZXZlbHMgYnkgc3lzdG9saWMgYmxvb2QgcHJlc3N1cmUgZ3JvdXAgKDwxMjAsIDEyMC0xMzksIDE0MC0xNTksMTYwKykKCgpgYGB7ciBCbG9vZFByZXNzdXJlfQpsaWJyYXJ5KGRwbHlyKQoKQUVEQi5DRUEgPC0gQUVEQi5DRUEgJT4lIG11dGF0ZShTQlBHcm91cCA9IGZhY3RvcihjYXNlX3doZW4oc3lzdG9saWMgPCAxMjAgfiAiPDEyMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3lzdG9saWMgPj0gMTIwICAmIHN5c3RvbGljIDw9IDEzOSB+ICIxMjAtMTM5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzeXN0b2xpYyA+PSAxNDAgICYgc3lzdG9saWMgPD0gMTU5IH4gIjE0MC0xNTkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN5c3RvbGljID49IDE2MCB+ICIxNjArIikpKSAKCnRhYmxlKEFFREIuQ0VBJFNCUEdyb3VwLCBBRURCLkNFQSRHZW5kZXIpCgpgYGAKCk5vdyB3ZSBjYW4gZHJhdyBzb21lIGdyYXBocyBvZiBwbGFzbWEvcGxhcXVlIE1DUDEgbGV2ZWxzIHBlciBzZXggYW5kIGh5cGVydGVuc2lvbi9ibG9vZCBwcmVzc3VyZSBncm91cC4KCiMjIyBJbnZlcnNlLXJhbmsgdHJhbnNmb3JtZWQgZGF0YQoKIyMjIyBNQ1AxIHBsYXF1ZSBsZXZlbHMKCmBgYHtyIE1DUDEgcGVyIEJsb29kUHJlc3N1cmUgcGVyIFNleCwgcmFua2VkfQoKIyBjb21wYXJlX21lYW5zKE1DUDFfcGdfdWdfMjAxNV9yYW5rIH4gQWdlR3JvdXAsICBkYXRhID0gQUVEQi5DRUEsIG1ldGhvZCA9ICJrcnVza2FsLnRlc3QiKQpnZ3B1YnI6OmdnYm94cGxvdChBRURCLkNFQSAlPiUgZmlsdGVyKCFpcy5uYShTQlBHcm91cCkpLCAKICAgICAgICAgICAgICAgICAgeCA9IGMoIlNCUEdyb3VwIiksCiAgICAgICAgICAgICAgICAgIHkgPSAiTUNQMV9wZ191Z18yMDE1X3JhbmsiLCAKICAgICAgICAgICAgICAgICAgeGxhYiA9ICJTeXN0b2xpYyBibG9vZCBwcmVzc3VyZSAobW1IZykgcGVyIGdlbmRlciIsCiAgICAgICAgICAgICAgICAgIHlsYWIgPSAiTUNQMSBwbGFxdWUgW3BnL3VnXVxuKGludmVyc2UtcmFuayB0cmFuc2Zvcm1hdGlvbikiLAogICAgICAgICAgICAgICAgICBjb2xvciA9ICJHZW5kZXIiLAogICAgICAgICAgICAgICAgICBwYWxldHRlID0gYygiI0Q1MjY3QiIsICIjMTI5MEQ5IiksCiAgICAgICAgICAgICAgICAgIGFkZCA9ICJqaXR0ZXIiKSAjKwogICMgc3RhdF9jb21wYXJlX21lYW5zKG1ldGhvZCA9ICJrcnVza2FsLnRlc3QiKQpnZ3NhdmUoZmlsZSA9IHBhc3RlMChQTE9UX2xvYywgIi8iLFRvZGF5LCIuQUVEQi5DRUEuTUNQMS5wbGFxdWUuU0JQR3JvdXAucGRmIiksIHBsb3QgPSBsYXN0X3Bsb3QoKSkKCiMgY29tcGFyZV9tZWFucyhNQ1AxX3BnX3VnXzIwMTVfcmFuayB+IEFnZUdyb3VwLCAgZGF0YSA9IEFFREIuQ0VBLCBtZXRob2QgPSAia3J1c2thbC50ZXN0IikKZ2dwdWJyOjpnZ2JveHBsb3QoQUVEQi5DRUEgJT4lIGZpbHRlcighaXMubmEoSHlwZXJ0ZW5zaW9uLnNlbGZyZXBvcnQpKSwgCiAgICAgICAgICAgICAgICAgIHggPSBjKCJIeXBlcnRlbnNpb24uc2VsZnJlcG9ydCIpLAogICAgICAgICAgICAgICAgICB5ID0gIk1DUDFfcGdfdWdfMjAxNV9yYW5rIiwgCiAgICAgICAgICAgICAgICAgIHhsYWIgPSAiU2VsZi1yZXBvcnRlZCBoeXBlcnRlbnNpb24gcGVyIGdlbmRlciIsCiAgICAgICAgICAgICAgICAgIHlsYWIgPSAiTUNQMSBwbGFxdWUgW3BnL3VnXVxuKGludmVyc2UtcmFuayB0cmFuc2Zvcm1hdGlvbikiLAogICAgICAgICAgICAgICAgICBjb2xvciA9ICJHZW5kZXIiLAogICAgICAgICAgICAgICAgICBwYWxldHRlID0gYygiI0Q1MjY3QiIsICIjMTI5MEQ5IiksCiAgICAgICAgICAgICAgICAgIGFkZCA9ICJqaXR0ZXIiKSAjKwogICMgc3RhdF9jb21wYXJlX21lYW5zKG1ldGhvZCA9ICJrcnVza2FsLnRlc3QiKQpnZ3NhdmUoZmlsZSA9IHBhc3RlMChQTE9UX2xvYywgIi8iLFRvZGF5LCIuQUVEQi5DRUEuTUNQMS5wbGFxdWUuSHlwZXJ0ZW5zaW9uLnBkZiIpLCBwbG90ID0gbGFzdF9wbG90KCkpCgojIGNvbXBhcmVfbWVhbnMoTUNQMV9wZ191Z18yMDE1X3JhbmsgfiBBZ2VHcm91cCwgIGRhdGEgPSBBRURCLkNFQSwgbWV0aG9kID0gImtydXNrYWwudGVzdCIpCmdncHVicjo6Z2dib3hwbG90KEFFREIuQ0VBICU+JSBmaWx0ZXIoIWlzLm5hKEh5cGVydGVuc2lvbi5zZWxmcmVwb3J0KSAmICFpcy5uYShIeXBlcnRlbnNpb24uZHJ1Z3MpKSwgCiAgICAgICAgICAgICAgICAgIHggPSBjKCJIeXBlcnRlbnNpb24uc2VsZnJlcG9ydCIpLAogICAgICAgICAgICAgICAgICB5ID0gIk1DUDFfcGdfdWdfMjAxNV9yYW5rIiwgCiAgICAgICAgICAgICAgICAgIHhsYWIgPSAiU2VsZi1yZXBvcnRlZCBoeXBlcnRlbnNpb24gcGVyIG1lZGljYXRpb24gdXNlIiwKICAgICAgICAgICAgICAgICAgeWxhYiA9ICJNQ1AxIHBsYXF1ZSBbcGcvdWddXG4oaW52ZXJzZS1yYW5rIHRyYW5zZm9ybWF0aW9uKSIsCiAgICAgICAgICAgICAgICAgIGNvbG9yID0gIkh5cGVydGVuc2lvbi5kcnVncyIsCiAgICAgICAgICAgICAgICAgIHBhbGV0dGUgPSBjKCIjNDlBMDFEIiwgIiMxMjkwRDkiKSwKICAgICAgICAgICAgICAgICAgYWRkID0gImppdHRlciIpICMrCiAgIyBzdGF0X2NvbXBhcmVfbWVhbnMobWV0aG9kID0gImtydXNrYWwudGVzdCIpCmdnc2F2ZShmaWxlID0gcGFzdGUwKFBMT1RfbG9jLCAiLyIsVG9kYXksIi5BRURCLkNFQS5NQ1AxLnBsYXF1ZS5IeXBlcnRlbnNpb25EcnVncy5wZGYiKSwgcGxvdCA9IGxhc3RfcGxvdCgpKQoKCmBgYAoKIyMjIyBNQ1AxIHBsYXNtYSBsZXZlbHMKCgpgYGB7ciBNQ1AxIHBlciBCbG9vZFByZXNzdXJlIHBlciBTZXgsIHJhbmtlZCBwbGFzbWF9CgpnZ3B1YnI6OmdnYm94cGxvdChBRURCLkNFQSAlPiUgZmlsdGVyKCFpcy5uYShTQlBHcm91cCkpLAogICAgICAgICAgICAgICAgICB4ID0gYygiU0JQR3JvdXAiKSwKICAgICAgICAgICAgICAgICAgeSA9ICJNQ1AxX3BsYXNtYV9vbGlua19yYW5rIiwKICAgICAgICAgICAgICAgICAgeGxhYiA9ICJTeXN0b2xpYyBibG9vZCBwcmVzc3VyZSAobW1IZykgcGVyIGdlbmRlciIsCiAgICAgICAgICAgICAgICAgIHlsYWIgPSAiTUNQMSBwbGFzbWEgW0FVXVxuKGludmVyc2UtcmFuayB0cmFuc2Zvcm1hdGlvbikiLAogICAgICAgICAgICAgICAgICBjb2xvciA9ICJHZW5kZXIiLAogICAgICAgICAgICAgICAgICBwYWxldHRlID0gYygiI0Q1MjY3QiIsICIjMTI5MEQ5IiksCiAgICAgICAgICAgICAgICAgIGFkZCA9ICJqaXR0ZXIiKSAKZ2dzYXZlKGZpbGUgPSBwYXN0ZTAoUExPVF9sb2MsICIvIixUb2RheSwiLkFFREIuQ0VBLk1DUDEucGxhc21hLlNCUEdyb3VwLnBkZiIpLCBwbG90ID0gbGFzdF9wbG90KCkpCgojIGNvbXBhcmVfbWVhbnMoTUNQMV9wZ191Z18yMDE1X3JhbmsgfiBBZ2VHcm91cCwgIGRhdGEgPSBBRURCLkNFQSwgbWV0aG9kID0gImtydXNrYWwudGVzdCIpCmdncHVicjo6Z2dib3hwbG90KEFFREIuQ0VBICU+JSBmaWx0ZXIoIWlzLm5hKEh5cGVydGVuc2lvbi5zZWxmcmVwb3J0KSksIAogICAgICAgICAgICAgICAgICB4ID0gYygiSHlwZXJ0ZW5zaW9uLnNlbGZyZXBvcnQiKSwKICAgICAgICAgICAgICAgICAgeSA9ICJNQ1AxX3BsYXNtYV9vbGlua19yYW5rIiwgCiAgICAgICAgICAgICAgICAgIHhsYWIgPSAiU2VsZi1yZXBvcnRlZCBoeXBlcnRlbnNpb24gcGVyIGdlbmRlciIsCiAgICAgICAgICAgICAgICAgIHlsYWIgPSAiTUNQMSBwbGFzbWEgW0FVXVxuKGludmVyc2UtcmFuayB0cmFuc2Zvcm1hdGlvbikiLAogICAgICAgICAgICAgICAgICBjb2xvciA9ICJHZW5kZXIiLAogICAgICAgICAgICAgICAgICBwYWxldHRlID0gYygiI0Q1MjY3QiIsICIjMTI5MEQ5IiksCiAgICAgICAgICAgICAgICAgIGFkZCA9ICJqaXR0ZXIiKSAjKwogICMgc3RhdF9jb21wYXJlX21lYW5zKG1ldGhvZCA9ICJrcnVza2FsLnRlc3QiKQpnZ3NhdmUoZmlsZSA9IHBhc3RlMChQTE9UX2xvYywgIi8iLFRvZGF5LCIuQUVEQi5DRUEuTUNQMS5wbGFzbWEuSHlwZXJ0ZW5zaW9uLnBkZiIpLCBwbG90ID0gbGFzdF9wbG90KCkpCgojIGNvbXBhcmVfbWVhbnMoTUNQMV9wZ191Z18yMDE1X3JhbmsgfiBBZ2VHcm91cCwgIGRhdGEgPSBBRURCLkNFQSwgbWV0aG9kID0gImtydXNrYWwudGVzdCIpCmdncHVicjo6Z2dib3hwbG90KEFFREIuQ0VBICU+JSBmaWx0ZXIoIWlzLm5hKEh5cGVydGVuc2lvbi5zZWxmcmVwb3J0KSAmICFpcy5uYShIeXBlcnRlbnNpb24uZHJ1Z3MpKSwgCiAgICAgICAgICAgICAgICAgIHggPSBjKCJIeXBlcnRlbnNpb24uc2VsZnJlcG9ydCIpLAogICAgICAgICAgICAgICAgICB5ID0gIk1DUDFfcGxhc21hX29saW5rX3JhbmsiLCAKICAgICAgICAgICAgICAgICAgeGxhYiA9ICJTZWxmLXJlcG9ydGVkIGh5cGVydGVuc2lvbiBwZXIgbWVkaWNhdGlvbiB1c2UiLAogICAgICAgICAgICAgICAgICB5bGFiID0gIk1DUDEgcGxhc21hIFtBVV1cbihpbnZlcnNlLXJhbmsgdHJhbnNmb3JtYXRpb24pIiwKICAgICAgICAgICAgICAgICAgY29sb3IgPSAiSHlwZXJ0ZW5zaW9uLmRydWdzIiwKICAgICAgICAgICAgICAgICAgcGFsZXR0ZSA9IGMoIiM0OUEwMUQiLCAiIzEyOTBEOSIpLAogICAgICAgICAgICAgICAgICBhZGQgPSAiaml0dGVyIikgIysKICAjIHN0YXRfY29tcGFyZV9tZWFucyhtZXRob2QgPSAia3J1c2thbC50ZXN0IikKZ2dzYXZlKGZpbGUgPSBwYXN0ZTAoUExPVF9sb2MsICIvIixUb2RheSwiLkFFREIuQ0VBLk1DUDEucGxhc21hLkh5cGVydGVuc2lvbkRydWdzLnBkZiIpLCBwbG90ID0gbGFzdF9wbG90KCkpCgpgYGAKCiMjIyBSYXcgZGF0YQoKU2ltYWxhcmx5IGJ1dCBub3cgZm9yIHRoZSByYXcgZGF0YSBhcyBtZWRpYW4gwrEgaW50ZXJxdWFydGlsZSByYW5nZS4KCiMjIyMgTUNQMSBwbGFxdWUgbGV2ZWxzCgoKYGBge3IgTUNQMSBwZXIgQmxvb2RQcmVzc3VyZSBwZXIgU2V4fQoKZ2dwdWJyOjpnZ2JveHBsb3QoQUVEQi5DRUEgJT4lIGZpbHRlcighaXMubmEoU0JQR3JvdXApKSwgCiAgICAgICAgICAgICAgICAgIHggPSBjKCJTQlBHcm91cCIpLAogICAgICAgICAgICAgICAgICB5ID0gIk1DUDFfcGdfdWdfMjAxNSIsIAogICAgICAgICAgICAgICAgICB4bGFiID0gIlN5c3RvbGljIGJsb29kIHByZXNzdXJlIChtbUhnKSBwZXIgZ2VuZGVyIiwKICAgICAgICAgICAgICAgICAgeWxhYiA9ICJNQ1AxIHBsYXF1ZSBbcGcvdWddIiwKICAgICAgICAgICAgICAgICAgY29sb3IgPSAiR2VuZGVyIiwKICAgICAgICAgICAgICAgICAgcGFsZXR0ZSA9IGMoIiNENTI2N0IiLCAiIzEyOTBEOSIpLAogICAgICAgICAgICAgICAgICAjIGFkZCA9ICJtZWRpYW5faXFyIikKICAgICAgICAgICAgICAgICAgYWRkID0gYygibWVkaWFuX2lxciIsICJqaXR0ZXIiKSkKZ2dzYXZlKGZpbGUgPSBwYXN0ZTAoUExPVF9sb2MsICIvIixUb2RheSwiLkFFREIuQ0VBLk1DUDEucGxhcXVlLnJhdy5TQlBHcm91cC5wZGYiKSwgcGxvdCA9IGxhc3RfcGxvdCgpKQoKZ2dwdWJyOjpnZ2JveHBsb3QoQUVEQi5DRUEgJT4lIGZpbHRlcighaXMubmEoSHlwZXJ0ZW5zaW9uLnNlbGZyZXBvcnQpKSwgCiAgICAgICAgICAgICAgICAgIHggPSBjKCJIeXBlcnRlbnNpb24uc2VsZnJlcG9ydCIpLAogICAgICAgICAgICAgICAgICB5ID0gIk1DUDFfcGdfdWdfMjAxNSIsIAogICAgICAgICAgICAgICAgICB4bGFiID0gIlNlbGYtcmVwb3J0ZWQgaHlwZXJ0ZW5zaW9uIHBlciBnZW5kZXIiLAogICAgICAgICAgICAgICAgICB5bGFiID0gIk1DUDEgcGxhcXVlIFtwZy91Z10iLAogICAgICAgICAgICAgICAgICBjb2xvciA9ICJHZW5kZXIiLAogICAgICAgICAgICAgICAgICBwYWxldHRlID0gYygiI0Q1MjY3QiIsICIjMTI5MEQ5IiksCiAgICAgICAgICAgICAgICAgICMgYWRkID0gIm1lZGlhbl9pcXIiKQogICAgICAgICAgICAgICAgICBhZGQgPSBjKCJtZWRpYW5faXFyIiwgImppdHRlciIpKQpnZ3NhdmUoZmlsZSA9IHBhc3RlMChQTE9UX2xvYywgIi8iLFRvZGF5LCIuQUVEQi5DRUEuTUNQMS5wbGFxdWUucmF3Lkh5cGVydGVuc2lvbi5wZGYiKSwgcGxvdCA9IGxhc3RfcGxvdCgpKQoKZ2dwdWJyOjpnZ2JveHBsb3QoQUVEQi5DRUEgJT4lIGZpbHRlcighaXMubmEoSHlwZXJ0ZW5zaW9uLnNlbGZyZXBvcnQpICYgIWlzLm5hKEh5cGVydGVuc2lvbi5kcnVncykpLCAKICAgICAgICAgICAgICAgICAgeCA9IGMoIkh5cGVydGVuc2lvbi5zZWxmcmVwb3J0IiksCiAgICAgICAgICAgICAgICAgIHkgPSAiTUNQMV9wZ191Z18yMDE1X3JhbmsiLCAKICAgICAgICAgICAgICAgICAgeGxhYiA9ICJTZWxmLXJlcG9ydGVkIGh5cGVydGVuc2lvbiBwZXIgbWVkaWNhdGlvbiB1c2UiLAogICAgICAgICAgICAgICAgICB5bGFiID0gIk1DUDEgcGxhcXVlIFtwZy91Z10iLAogICAgICAgICAgICAgICAgICBjb2xvciA9ICJIeXBlcnRlbnNpb24uZHJ1Z3MiLAogICAgICAgICAgICAgICAgICBwYWxldHRlID0gYygiIzQ5QTAxRCIsICIjMTI5MEQ5IiksCiAgICAgICAgICAgICAgICAgIGFkZCA9ICJqaXR0ZXIiKSAKZ2dzYXZlKGZpbGUgPSBwYXN0ZTAoUExPVF9sb2MsICIvIixUb2RheSwiLkFFREIuQ0VBLk1DUDEucGxhcXVlLnJhdy5IeXBlcnRlbnNpb25EcnVncy5wZGYiKSwgcGxvdCA9IGxhc3RfcGxvdCgpKQoKYGBgCgojIyMgTUNQMSBwbGFzbWEgbGV2ZWxzCgpgYGB7ciBNQ1AxIHBlciBCbG9vZFByZXNzdXJlIHBlciBTZXgsIHBsYXNtYX0KCmdncHVicjo6Z2dib3hwbG90KEFFREIuQ0VBICU+JSBmaWx0ZXIoIWlzLm5hKFNCUEdyb3VwKSksIAogICAgICAgICAgICAgICAgICB4ID0gYygiU0JQR3JvdXAiKSwKICAgICAgICAgICAgICAgICAgeSA9ICJNQ1AxX3BsYXNtYV9vbGluayIsIAogICAgICAgICAgICAgICAgICB4bGFiID0gIlN5c3RvbGljIGJsb29kIHByZXNzdXJlIChtbUhnKSBwZXIgZ2VuZGVyIiwKICAgICAgICAgICAgICAgICAgeWxhYiA9ICJNQ1AxIHBsYXNtYSBbQVVdIiwKICAgICAgICAgICAgICAgICAgY29sb3IgPSAiR2VuZGVyIiwKICAgICAgICAgICAgICAgICAgcGFsZXR0ZSA9IGMoIiNENTI2N0IiLCAiIzEyOTBEOSIpLAogICAgICAgICAgICAgICAgICAjIGFkZCA9ICJtZWRpYW5faXFyIikKICAgICAgICAgICAgICAgICAgYWRkID0gYygibWVkaWFuX2lxciIsICJqaXR0ZXIiKSkKZ2dzYXZlKGZpbGUgPSBwYXN0ZTAoUExPVF9sb2MsICIvIixUb2RheSwiLkFFREIuQ0VBLk1DUDEucGxhc21hLnJhdy5TQlBHcm91cC5wZGYiKSwgcGxvdCA9IGxhc3RfcGxvdCgpKQoKZ2dwdWJyOjpnZ2JveHBsb3QoQUVEQi5DRUEgJT4lIGZpbHRlcighaXMubmEoSHlwZXJ0ZW5zaW9uLnNlbGZyZXBvcnQpKSwgCiAgICAgICAgICAgICAgICAgIHggPSBjKCJIeXBlcnRlbnNpb24uc2VsZnJlcG9ydCIpLAogICAgICAgICAgICAgICAgICB5ID0gIk1DUDFfcGxhc21hX29saW5rIiwgCiAgICAgICAgICAgICAgICAgIHhsYWIgPSAiU2VsZi1yZXBvcnRlZCBoeXBlcnRlbnNpb24gcGVyIGdlbmRlciIsCiAgICAgICAgICAgICAgICAgIHlsYWIgPSAiTUNQMSBwbGFzbWEgW0FVXSIsCiAgICAgICAgICAgICAgICAgIGNvbG9yID0gIkdlbmRlciIsCiAgICAgICAgICAgICAgICAgIHBhbGV0dGUgPSBjKCIjRDUyNjdCIiwgIiMxMjkwRDkiKSwKICAgICAgICAgICAgICAgICAgIyBhZGQgPSAibWVkaWFuX2lxciIpCiAgICAgICAgICAgICAgICAgIGFkZCA9IGMoIm1lZGlhbl9pcXIiLCAiaml0dGVyIikpCmdnc2F2ZShmaWxlID0gcGFzdGUwKFBMT1RfbG9jLCAiLyIsVG9kYXksIi5BRURCLkNFQS5NQ1AxLnBsYXNtYS5yYXcuSHlwZXJ0ZW5zaW9uLnBkZiIpLCBwbG90ID0gbGFzdF9wbG90KCkpCgpnZ3B1YnI6OmdnYm94cGxvdChBRURCLkNFQSAlPiUgZmlsdGVyKCFpcy5uYShIeXBlcnRlbnNpb24uc2VsZnJlcG9ydCkgJiAhaXMubmEoSHlwZXJ0ZW5zaW9uLmRydWdzKSksIAogICAgICAgICAgICAgICAgICB4ID0gYygiSHlwZXJ0ZW5zaW9uLnNlbGZyZXBvcnQiKSwKICAgICAgICAgICAgICAgICAgeSA9ICJNQ1AxX3BsYXNtYV9vbGluayIsIAogICAgICAgICAgICAgICAgICB4bGFiID0gIlNlbGYtcmVwb3J0ZWQgaHlwZXJ0ZW5zaW9uIHBlciBtZWRpY2F0aW9uIHVzZSIsCiAgICAgICAgICAgICAgICAgIHlsYWIgPSAiTUNQMSBwbGFzbWEgW0FVXSIsCiAgICAgICAgICAgICAgICAgIGNvbG9yID0gIkh5cGVydGVuc2lvbi5kcnVncyIsCiAgICAgICAgICAgICAgICAgIHBhbGV0dGUgPSBjKCIjNDlBMDFEIiwgIiMxMjkwRDkiKSwKICAgICAgICAgICAgICAgICAgYWRkID0gImppdHRlciIpIApnZ3NhdmUoZmlsZSA9IHBhc3RlMChQTE9UX2xvYywgIi8iLFRvZGF5LCIuQUVEQi5DRUEuTUNQMS5wbGFzbWEucmF3Lkh5cGVydGVuc2lvbkRydWdzLnBkZiIpLCBwbG90ID0gbGFzdF9wbG90KCkpCgpgYGAKCgojIyBIeXBlcmNob2xlc3Rlcm9sZW1pYSAmIExETCBsZXZlbHMKV2Ugd2FudCB0byBjcmVhdGUgZmlndXJlcyBvZiBNQ1AxIGxldmVscyBzdHJhdGlmaWVkIGJ5IGh5cGVyY2hvbGVzdGVyb2xlbWlhL0xETC1sZXZlbHMsIGFuZCB1c2Ugb2YgbGlwaWQtbG93ZXJpbmcgZHJ1Z3MuIAoKLSBCb3ggYW5kIFdoaXNrZXIgcGxvdCBmb3IgTUNQLTEgcGxhcXVlIGxldmVscyBieSBoeXBlcmNob2xlc3Rlcm9sZW1pYSBncm91cCAobm8sIHllcykKLSBCb3ggYW5kIFdoaXNrZXIgcGxvdCBmb3IgTUNQLTEgcGxhc21hIGxldmVscyBieSBMREwtbGV2ZWxzIChtbW9sL0wpIGdyb3VwICg8MTAwLCAxMDAtMTI5LCAxMzAtMTU5LCAxNjAtMTg5LCAxOTArKQoKYGBge3IgSHlwZXJjaG9sZXN0ZXJvbGVtaWF9CmxpYnJhcnkoZHBseXIpCgpBRURCLkNFQSA8LSBBRURCLkNFQSAlPiUgbXV0YXRlKExETEdyb3VwID0gZmFjdG9yKGNhc2Vfd2hlbihMRExfZmluYWxDVSA8IDEwMCB+ICI8MTAwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMRExfZmluYWxDVSA+PSAxMDAgICYgTERMX2ZpbmFsQ1UgPD0gMTI5IH4gIjEwMC0xMjkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExETF9maW5hbENVID49IDEzMCAgJiBMRExfZmluYWxDVSA8PSAxNTkgfiAiMTMwLTE1OSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTERMX2ZpbmFsQ1UgPj0gMTYwICAmIExETF9maW5hbENVIDw9IDE4OSB+ICIxNjAtMTg5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMRExfZmluYWxDVSA+PSAxOTAgfiAiMTkwKyIpKSkgCgoKdGFibGUoQUVEQi5DRUEkTERMR3JvdXAsIEFFREIuQ0VBJEdlbmRlcikKCgpgYGAKCk5vdyB3ZSBjYW4gZHJhdyBzb21lIGdyYXBocyBvZiBwbGFzbWEvcGxhcXVlIE1DUDEgbGV2ZWxzIHBlciBzZXggYW5kIGh5cGVyY2hvbGVzdGVyb2xlbWlhL0xETC1sZXZlbHMgZ3JvdXAsIGFzIHdlbGwgYXMgc3RyYXRpZmllZCBieSBsaXBpZC1sb3dlcmluZyBkcnVncyB1c2Vycy4KCiMjIyBJbnZlcnNlLXJhbmsgdHJhbnNmb3JtZWQgZGF0YQoKIyMjIyBNQ1AxIHBsYXF1ZSBsZXZlbHMKCmBgYHtyIE1DUDEgcGVyIEh5cGVyY2hvbGVzdGVyb2xlbWlhIHBlciBTZXgsIHJhbmtlZH0KCiMgY29tcGFyZV9tZWFucyhNQ1AxX3BnX3VnXzIwMTVfcmFuayB+IEFnZUdyb3VwLCAgZGF0YSA9IEFFREIuQ0VBLCBtZXRob2QgPSAia3J1c2thbC50ZXN0IikKZ2dwdWJyOjpnZ2JveHBsb3QoQUVEQi5DRUEgJT4lIGZpbHRlcighaXMubmEoTERMR3JvdXApKSwgCiAgICAgICAgICAgICAgICAgIHggPSBjKCJMRExHcm91cCIpLAogICAgICAgICAgICAgICAgICB5ID0gIk1DUDFfcGdfdWdfMjAxNV9yYW5rIiwgCiAgICAgICAgICAgICAgICAgIHhsYWIgPSAiTERMIChtZy9kTCkgcGVyIGdlbmRlciIsCiAgICAgICAgICAgICAgICAgIHlsYWIgPSAiTUNQMSBwbGFxdWUgW3BnL3VnXVxuKGludmVyc2UtcmFuayB0cmFuc2Zvcm1hdGlvbikiLAogICAgICAgICAgICAgICAgICBjb2xvciA9ICJHZW5kZXIiLAogICAgICAgICAgICAgICAgICBwYWxldHRlID0gYygiI0Q1MjY3QiIsICIjMTI5MEQ5IiksCiAgICAgICAgICAgICAgICAgIGFkZCA9ICJqaXR0ZXIiKSAjKwogICMgc3RhdF9jb21wYXJlX21lYW5zKG1ldGhvZCA9ICJrcnVza2FsLnRlc3QiKQpnZ3NhdmUoZmlsZSA9IHBhc3RlMChQTE9UX2xvYywgIi8iLFRvZGF5LCIuQUVEQi5DRUEuTUNQMS5wbGFxdWEuTERMR3JvdXBzLnBkZiIpLCBwbG90ID0gbGFzdF9wbG90KCkpCgojIGNvbXBhcmVfbWVhbnMoTUNQMV9wZ191Z18yMDE1X3JhbmsgfiBBZ2VHcm91cCwgIGRhdGEgPSBBRURCLkNFQSwgbWV0aG9kID0gImtydXNrYWwudGVzdCIpCmdncHVicjo6Z2dib3hwbG90KEFFREIuQ0VBICU+JSBmaWx0ZXIoIWlzLm5hKExETEdyb3VwKSAmICFpcy5uYShNZWQuU3RhdGluLkxMRCkpLCAKICAgICAgICAgICAgICAgICAgeCA9IGMoIkxETEdyb3VwIiksCiAgICAgICAgICAgICAgICAgIHkgPSAiTUNQMV9wZ191Z18yMDE1X3JhbmsiLCAKICAgICAgICAgICAgICAgICAgeGxhYiA9ICJMREwgKG1nL2RMKSBwZXIgTExEIHVzZSIsCiAgICAgICAgICAgICAgICAgIHlsYWIgPSAiTUNQMSBwbGFxdWUgW3BnL3VnXVxuKGludmVyc2UtcmFuayB0cmFuc2Zvcm1hdGlvbikiLAogICAgICAgICAgICAgICAgICBjb2xvciA9ICJNZWQuU3RhdGluLkxMRCIsCiAgICAgICAgICAgICAgICAgIHBhbGV0dGUgPSBjKCIjNDlBMDFEIiwgIiMxMjkwRDkiKSwKICAgICAgICAgICAgICAgICAgYWRkID0gImppdHRlciIpICMrCiAgIyBzdGF0X2NvbXBhcmVfbWVhbnMobWV0aG9kID0gImtydXNrYWwudGVzdCIpCmdnc2F2ZShmaWxlID0gcGFzdGUwKFBMT1RfbG9jLCAiLyIsVG9kYXksIi5BRURCLkNFQS5NQ1AxLnBsYXF1ZS5IeXBlcmNob2xlc3Rlcm9sZW1pYS5wZGYiKSwgcGxvdCA9IGxhc3RfcGxvdCgpKQoKYGBgCgojIyMjIE1DUDEgcGxhc21hIGxldmVscwoKCmBgYHtyIE1DUDEgcGVyIEh5cGVyY2hvbGVzdGVyb2xlbWlhIHBlciBTZXgsIHJhbmtlZCBwbGFzbWF9CiMgY29tcGFyZV9tZWFucyhNQ1AxX3JhbmsgfiBHZW5kZXIsICBkYXRhID0gQUVEQi5DRUEsIG1ldGhvZCA9ICJ3aWxjb3gudGVzdCIpCmdncHVicjo6Z2dib3hwbG90KEFFREIuQ0VBICU+JSBmaWx0ZXIoIWlzLm5hKExETEdyb3VwKSksCiAgICAgICAgICAgICAgICAgIHggPSBjKCJMRExHcm91cCIpLAogICAgICAgICAgICAgICAgICB5ID0gIk1DUDFfcGxhc21hX29saW5rX3JhbmsiLAogICAgICAgICAgICAgICAgICB4bGFiID0gIkxETCAobWcvZEwpIHBlciBnZW5kZXIiLAogICAgICAgICAgICAgICAgICB5bGFiID0gIk1DUDEgcGxhc21hIFtBVV1cbihpbnZlcnNlLXJhbmsgdHJhbnNmb3JtYXRpb24pIiwKICAgICAgICAgICAgICAgICAgY29sb3IgPSAiR2VuZGVyIiwKICAgICAgICAgICAgICAgICAgcGFsZXR0ZSA9IGMoIiNENTI2N0IiLCAiIzEyOTBEOSIpLAogICAgICAgICAgICAgICAgICBhZGQgPSAiaml0dGVyIikgIysKICAjIHN0YXRfY29tcGFyZV9tZWFucyhtZXRob2QgPSAid2lsY294LnRlc3QiKQpnZ3NhdmUoZmlsZSA9IHBhc3RlMChQTE9UX2xvYywgIi8iLFRvZGF5LCIuQUVEQi5DRUEuTUNQMS5wbGFzbWEuTERMR3JvdXAucGRmIiksIHBsb3QgPSBsYXN0X3Bsb3QoKSkKCiMgY29tcGFyZV9tZWFucyhNQ1AxX3JhbmsgfiBBZ2VHcm91cCwgIGRhdGEgPSBBRURCLkNFQSwgbWV0aG9kID0gImtydXNrYWwudGVzdCIpCmdncHVicjo6Z2dib3hwbG90KEFFREIuQ0VBICU+JSBmaWx0ZXIoIWlzLm5hKExETEdyb3VwKSAmICFpcy5uYShNZWQuU3RhdGluLkxMRCkpLAogICAgICAgICAgICAgICAgICB4ID0gYygiTERMR3JvdXAiKSwKICAgICAgICAgICAgICAgICAgeSA9ICJNQ1AxX3BsYXNtYV9vbGlua19yYW5rIiwKICAgICAgICAgICAgICAgICAgeGxhYiA9ICJMREwgKG1nL2RMKSBwZXIgTExEIHVzZSIsCiAgICAgICAgICAgICAgICAgIHlsYWIgPSAiTUNQMSBwbGFzbWEgW0FVXVxuKGludmVyc2UtcmFuayB0cmFuc2Zvcm1hdGlvbikiLAogICAgICAgICAgICAgICAgICBjb2xvciA9ICJNZWQuU3RhdGluLkxMRCIsCiAgICAgICAgICAgICAgICAgIHBhbGV0dGUgPSBjKCIjNDlBMDFEIiwgIiMxMjkwRDkiKSwKICAgICAgICAgICAgICAgICAgYWRkID0gImppdHRlciIpICMrCiAgIyBzdGF0X2NvbXBhcmVfbWVhbnMobWV0aG9kID0gImtydXNrYWwudGVzdCIpCmdnc2F2ZShmaWxlID0gcGFzdGUwKFBMT1RfbG9jLCAiLyIsVG9kYXksIi5BRURCLkNFQS5NQ1AxLnBsYXNtYS5IeXBlcmNob2xlc3Rlcm9sZW1pYS5wZGYiKSwgcGxvdCA9IGxhc3RfcGxvdCgpKQoKYGBgCgojIyMgUmF3IGRhdGEKClNpbWFsYXJseSBidXQgbm93IGZvciB0aGUgcmF3IGRhdGEgYXMgbWVkaWFuIMKxIGludGVycXVhcnRpbGUgcmFuZ2UuCgojIyMjIE1DUDEgcGxhcXVlIGxldmVscwoKCmBgYHtyIE1DUDEgcGVyIEh5cGVyY2hvbGVzdGVyb2xlbWlhIHBlciBTZXh9CgojID9nZ3B1YnI6OmdnYm94cGxvdCgpCmdncHVicjo6Z2dib3hwbG90KEFFREIuQ0VBICU+JSBmaWx0ZXIoIWlzLm5hKExETEdyb3VwKSksIAogICAgICAgICAgICAgICAgICB4ID0gYygiTERMR3JvdXAiKSwKICAgICAgICAgICAgICAgICAgeSA9ICJNQ1AxX3BnX3VnXzIwMTUiLCAKICAgICAgICAgICAgICAgICAgeGxhYiA9ICJMREwgKG1nL2RMKSBwZXIgZ2VuZGVyIiwKICAgICAgICAgICAgICAgICAgeWxhYiA9ICJNQ1AxIHBsYXF1ZSBbcGcvdWddIiwKICAgICAgICAgICAgICAgICAgY29sb3IgPSAiR2VuZGVyIiwKICAgICAgICAgICAgICAgICAgcGFsZXR0ZSA9IGMoIiNENTI2N0IiLCAiIzEyOTBEOSIpLAogICAgICAgICAgICAgICAgICAjIGFkZCA9ICJtZWRpYW5faXFyIikKICAgICAgICAgICAgICAgICAgYWRkID0gYygibWVkaWFuX2lxciIsICJqaXR0ZXIiKSkKZ2dzYXZlKGZpbGUgPSBwYXN0ZTAoUExPVF9sb2MsICIvIixUb2RheSwiLkFFREIuQ0VBLk1DUDEucGxhcXVlLnJhdy5MRExHcm91cC5wZGYiKSwgcGxvdCA9IGxhc3RfcGxvdCgpKQoKZ2dwdWJyOjpnZ2JveHBsb3QoQUVEQi5DRUEgJT4lIGZpbHRlcighaXMubmEoTERMR3JvdXApICYgIWlzLm5hKE1lZC5TdGF0aW4uTExEKSksIAogICAgICAgICAgICAgICAgICB4ID0gYygiTERMR3JvdXAiKSwKICAgICAgICAgICAgICAgICAgeSA9ICJNQ1AxX3BnX3VnXzIwMTUiLCAKICAgICAgICAgICAgICAgICAgeGxhYiA9ICJMREwgKG1nL2RMKSBwZXIgTExEIHVzZSIsCiAgICAgICAgICAgICAgICAgIHlsYWIgPSAiTUNQMSBwbGFxdWUgW3BnL3VnXSIsCiAgICAgICAgICAgICAgICAgIGNvbG9yID0gIk1lZC5TdGF0aW4uTExEIiwKICAgICAgICAgICAgICAgICAgcGFsZXR0ZSA9IGMoIiM0OUEwMUQiLCAiIzEyOTBEOSIpLAogICAgICAgICAgICAgICAgICAjIGFkZCA9ICJtZWRpYW5faXFyIikKICAgICAgICAgICAgICAgICAgYWRkID0gYygibWVkaWFuX2lxciIsICJqaXR0ZXIiKSkKZ2dzYXZlKGZpbGUgPSBwYXN0ZTAoUExPVF9sb2MsICIvIixUb2RheSwiLkFFREIuQ0VBLk1DUDEucGxhcXVlLnJhdy5IeXBlcmNob2xlc3Rlcm9sZW1pYS5wZGYiKSwgcGxvdCA9IGxhc3RfcGxvdCgpKQpgYGAKCiMjIyBNQ1AxIHBsYXNtYSBsZXZlbHMKCgpgYGB7ciBNQ1AxIHBlciBIeXBlcmNob2xlc3Rlcm9sZW1pYSBwZXIgU2V4LCBwbGFzbWF9CmdncHVicjo6Z2dib3hwbG90KEFFREIuQ0VBICU+JSBmaWx0ZXIoIWlzLm5hKExETEdyb3VwKSksIAogICAgICAgICAgICAgICAgICB4ID0gYygiTERMR3JvdXAiKSwKICAgICAgICAgICAgICAgICAgeSA9ICJNQ1AxIiwgCiAgICAgICAgICAgICAgICAgIHhsYWIgPSAiTERMIChtZy9kTCkgcGVyIGdlbmRlciIsCiAgICAgICAgICAgICAgICAgIHlsYWIgPSAiTUNQMSBwbGFzbWEgW3BnL21MXSIsCiAgICAgICAgICAgICAgICAgIGNvbG9yID0gIkdlbmRlciIsCiAgICAgICAgICAgICAgICAgIHBhbGV0dGUgPSBjKCIjRDUyNjdCIiwgIiMxMjkwRDkiKSwKICAgICAgICAgICAgICAgICAgIyBhZGQgPSAibWVkaWFuX2lxciIpCiAgICAgICAgICAgICAgICAgIGFkZCA9IGMoIm1lZGlhbl9pcXIiLCAiaml0dGVyIikpCmdnc2F2ZShmaWxlID0gcGFzdGUwKFBMT1RfbG9jLCAiLyIsVG9kYXksIi5BRURCLkNFQS5NQ1AxLnBsYXNtYS5yYXcuTERMR3JvdXAucGRmIiksIHBsb3QgPSBsYXN0X3Bsb3QoKSkKCmdncHVicjo6Z2dib3hwbG90KEFFREIuQ0VBICU+JSBmaWx0ZXIoIWlzLm5hKExETEdyb3VwKSAmICFpcy5uYShNZWQuU3RhdGluLkxMRCkpLCAKICAgICAgICAgICAgICAgICAgeCA9IGMoIkxETEdyb3VwIiksCiAgICAgICAgICAgICAgICAgIHkgPSAiTUNQMSIsIAogICAgICAgICAgICAgICAgICB4bGFiID0gIkxETCAobWcvZEwpIHBlciBMTEQgdXNlIiwKICAgICAgICAgICAgICAgICAgeWxhYiA9ICJNQ1AxIHBsYXNtYSBbcGcvbUxdIiwKICAgICAgICAgICAgICAgICAgY29sb3IgPSAiTWVkLlN0YXRpbi5MTEQiLAogICAgICAgICAgICAgICAgICBwYWxldHRlID0gYygiIzQ5QTAxRCIsICIjMTI5MEQ5IiksCiAgICAgICAgICAgICAgICAgICMgYWRkID0gIm1lZGlhbl9pcXIiKQogICAgICAgICAgICAgICAgICBhZGQgPSBjKCJtZWRpYW5faXFyIiwgImppdHRlciIpKQpnZ3NhdmUoZmlsZSA9IHBhc3RlMChQTE9UX2xvYywgIi8iLFRvZGF5LCIuQUVEQi5DRUEuTUNQMS5wbGFzbWEucmF3Lkh5cGVyY2hvbGVzdGVyb2xlbWlhLnBkZiIpLCBwbG90ID0gbGFzdF9wbG90KCkpCgpgYGAKCgojIyBLaWRuZXkgZnVuY3Rpb24gKGVHRlIpCldlIHdhbnQgdG8gY3JlYXRlIGZpZ3VyZXMgb2YgTUNQMSBsZXZlbHMgc3RyYXRpZmllZCBieSBraWRuZXkgZnVuY3Rpb24uIAoKLSBCb3ggYW5kIFdoaXNrZXIgcGxvdCBmb3IgTUNQLTEgcGxhcXVlIGxldmVscyBieSBjaHJvbmljIGtpZG5leSBkaXNlYXNlIChDS0QpIGdyb3VwICgxLCAyLCAzLCA0LCA1KQotIEJveCBhbmQgV2hpc2tlciBwbG90IGZvciBNQ1AtMSBwbGFzbWEgbGV2ZWxzIGJ5IGVHRlIgKE1EUkQtYmFzZWQpIGdyb3VwICg5MCssIDYwLTg5LCAzMC01OSwgPDMwKQoKYGBge3IgRUdGUn0KbGlicmFyeShkcGx5cikKCkFFREIuQ0VBIDwtIEFFREIuQ0VBICU+JSBtdXRhdGUoZUdGUkdyb3VwID0gZmFjdG9yKGNhc2Vfd2hlbihHRlJfTURSRCA8IDE1IH4gIjwxNSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHRlJfTURSRCA+PSAxNSAgJiBHRlJfTURSRCA8PSAyOSB+ICIxNS0yOSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHRlJfTURSRCA+PSAzMCAgJiBHRlJfTURSRCA8PSA1OSB+ICIzMC01OSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHRlJfTURSRCA+PSA2MCAgJiBHRlJfTURSRCA8PSA4OSB+ICI2MC04OSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHRlJfTURSRCA+PSA5MCB+ICI5MCsiKSkpCgp0YWJsZShBRURCLkNFQSRlR0ZSR3JvdXAsIEFFREIuQ0VBJEdlbmRlcikKCnRhYmxlKEFFREIuQ0VBJGVHRlJHcm91cCwgQUVEQi5DRUEkS0RPUUkpCgpgYGAKCk5vdyB3ZSBjYW4gZHJhdyBzb21lIGdyYXBocyBvZiBwbGFzbWEvcGxhcXVlIE1DUDEgbGV2ZWxzIHBlciBzZXggYW5kIGtpZG5leSBmdW5jdGlvbiBncm91cC4KCiMjIyBJbnZlcnNlLXJhbmsgdHJhbnNmb3JtZWQgZGF0YQoKIyMjIyBNQ1AxIHBsYXF1ZSBsZXZlbHMKCmBgYHtyIE1DUDEgcGVyIEVHRlIgcGVyIFNleCwgcmFua2VkfQoKIyBHbG9iYWwgdGVzdAojIGNvbXBhcmVfbWVhbnMoTUNQMV9wZ191Z18yMDE1X3JhbmsgfiBHZW5kZXIsICBkYXRhID0gQUVEQi5DRUEsIG1ldGhvZCA9ICJ3aWxjb3gudGVzdCIpCmdncHVicjo6Z2dib3hwbG90KEFFREIuQ0VBICU+JSBmaWx0ZXIoIWlzLm5hKGVHRlJHcm91cCkpLCAKICAgICAgICAgICAgICAgICAgeCA9IGMoImVHRlJHcm91cCIpLAogICAgICAgICAgICAgICAgICB5ID0gIk1DUDFfcGdfdWdfMjAxNV9yYW5rIiwgCiAgICAgICAgICAgICAgICAgIHhsYWIgPSAiZUdGUiAobUwvbWluIHBlciAxLjczIG0yKSBwZXIgZ2VuZGVyIiwKICAgICAgICAgICAgICAgICAgeWxhYiA9ICJNQ1AxIHBsYXF1ZSBbcGcvdWddXG4oaW52ZXJzZS1yYW5rIHRyYW5zZm9ybWF0aW9uKSIsCiAgICAgICAgICAgICAgICAgIGNvbG9yID0gIkdlbmRlciIsCiAgICAgICAgICAgICAgICAgIHBhbGV0dGUgPSBjKCIjRDUyNjdCIiwgIiMxMjkwRDkiKSwKICAgICAgICAgICAgICAgICAgYWRkID0gImppdHRlciIpICMrCiAgIyBzdGF0X2NvbXBhcmVfbWVhbnMobWV0aG9kID0gIndpbGNveC50ZXN0IikKZ2dzYXZlKGZpbGUgPSBwYXN0ZTAoUExPVF9sb2MsICIvIixUb2RheSwiLkFFREIuQ0VBLk1DUDEucGxhcXVlLkVHRlIucGRmIiksIHBsb3QgPSBsYXN0X3Bsb3QoKSkKCiMgY29tcGFyZV9tZWFucyhNQ1AxX3BnX3VnXzIwMTVfcmFuayB+IEFnZUdyb3VwLCAgZGF0YSA9IEFFREIuQ0VBLCBtZXRob2QgPSAia3J1c2thbC50ZXN0IikKcDEgPC0gZ2dwdWJyOjpnZ2JveHBsb3QoQUVEQi5DRUEgJT4lIGZpbHRlcighaXMubmEoS0RPUUkpKSwgCiAgICAgICAgICAgICAgICAgIHggPSBjKCJLRE9RSSIpLAogICAgICAgICAgICAgICAgICB5ID0gIk1DUDFfcGdfdWdfMjAxNV9yYW5rIiwgCiAgICAgICAgICAgICAgICAgIHhsYWIgPSAiS2lkbmV5IGZ1bmN0aW9uIChLRE9RSSkgcGVyIGdlbmRlciIsCiAgICAgICAgICAgICAgICAgIHlsYWIgPSAiTUNQMSBwbGFxdWUgW3BnL3VnXVxuKGludmVyc2UtcmFuayB0cmFuc2Zvcm1hdGlvbikiLAogICAgICAgICAgICAgICAgICBjb2xvciA9ICJHZW5kZXIiLAogICAgICAgICAgICAgICAgICBwYWxldHRlID0gYygiI0Q1MjY3QiIsICIjMTI5MEQ5IiksCiAgICAgICAgICAgICAgICAgIGFkZCA9ICJqaXR0ZXIiKSAjKwogICMgc3RhdF9jb21wYXJlX21lYW5zKG1ldGhvZCA9ICJrcnVza2FsLnRlc3QiKQpnZ3BhcihwMSArIHJvdGF0ZV94X3RleHQoNDUpLCBsZWdlbmQgPSAicmlnaHQiKSAKcm0ocDEpCmdnc2F2ZShmaWxlID0gcGFzdGUwKFBMT1RfbG9jLCAiLyIsVG9kYXksIi5BRURCLkNFQS5NQ1AxLnBsYXF1ZS5LRE9RSS5wZGYiKSwgcGxvdCA9IGxhc3RfcGxvdCgpKQoKIyBjb21wYXJlX21lYW5zKE1DUDFfcGdfdWdfMjAxNV9yYW5rIH4gQWdlR3JvdXAsICBkYXRhID0gQUVEQi5DRUEsIG1ldGhvZCA9ICJrcnVza2FsLnRlc3QiKQpwMSA8LSBnZ3B1YnI6OmdnYm94cGxvdChBRURCLkNFQSAlPiUgZmlsdGVyKCFpcy5uYShlR0ZSR3JvdXApICYgIWlzLm5hKEtET1FJKSksIAogICAgICAgICAgICAgICAgICB4ID0gYygiZUdGUkdyb3VwIiksCiAgICAgICAgICAgICAgICAgIHkgPSAiTUNQMV9wZ191Z18yMDE1X3JhbmsiLCAKICAgICAgICAgICAgICAgICAgeGxhYiA9ICJlR0ZSIChtTC9taW4gcGVyIDEuNzMgbTIpIGJ5IEtET1FJIGdyb3VwIiwKICAgICAgICAgICAgICAgICAgeWxhYiA9ICJNQ1AxIHBsYXF1ZSBbcGcvdWddXG4oaW52ZXJzZS1yYW5rIHRyYW5zZm9ybWF0aW9uKSIsCiAgICAgICAgICAgICAgICAgIGNvbG9yID0gIktET1FJIiwKICAgICAgICAgICAgICAgICAgcGFsZXR0ZSA9ICJucGciLAogICAgICAgICAgICAgICAgICBhZGQgPSAiaml0dGVyIikgIysKICAjIHN0YXRfY29tcGFyZV9tZWFucyhtZXRob2QgPSAia3J1c2thbC50ZXN0IikKZ2dwYXIocDEsIGxlZ2VuZCA9ICJyaWdodCIpCnJtKHAxKQpnZ3NhdmUoZmlsZSA9IHBhc3RlMChQTE9UX2xvYywgIi8iLFRvZGF5LCIuQUVEQi5DRUEuTUNQMS5wbGFxdWUuRUdGUl9LRE9RSS5wZGYiKSwgcGxvdCA9IGxhc3RfcGxvdCgpKQoKYGBgCgojIyMjIE1DUDEgcGxhc21hIGxldmVscwoKCmBgYHtyIE1DUDEgcGVyIEVHRlIgcGVyIFNleCwgcmFua2VkIHBsYXNtYX0KCiMgR2xvYmFsIHRlc3QKIyBjb21wYXJlX21lYW5zKE1DUDFfcGdfdWdfMjAxNV9yYW5rIH4gR2VuZGVyLCAgZGF0YSA9IEFFREIuQ0VBLCBtZXRob2QgPSAid2lsY294LnRlc3QiKQpnZ3B1YnI6OmdnYm94cGxvdChBRURCLkNFQSAlPiUgZmlsdGVyKCFpcy5uYShlR0ZSR3JvdXApKSwgCiAgICAgICAgICAgICAgICAgIHggPSBjKCJlR0ZSR3JvdXAiKSwKICAgICAgICAgICAgICAgICAgeSA9ICJNQ1AxX3BsYXNtYV9vbGlua19yYW5rIiwgCiAgICAgICAgICAgICAgICAgIHhsYWIgPSAiZUdGUiAobUwvbWluIHBlciAxLjczIG0yKSBwZXIgZ2VuZGVyIiwKICAgICAgICAgICAgICAgICAgeWxhYiA9ICJNQ1AxIHBsYXNtYSBbQVVdXG4oaW52ZXJzZS1yYW5rIHRyYW5zZm9ybWF0aW9uKSIsCiAgICAgICAgICAgICAgICAgIGNvbG9yID0gIkdlbmRlciIsCiAgICAgICAgICAgICAgICAgIHBhbGV0dGUgPSBjKCIjRDUyNjdCIiwgIiMxMjkwRDkiKSwKICAgICAgICAgICAgICAgICAgYWRkID0gImppdHRlciIpICMrCiAgIyBzdGF0X2NvbXBhcmVfbWVhbnMobWV0aG9kID0gIndpbGNveC50ZXN0IikKZ2dzYXZlKGZpbGUgPSBwYXN0ZTAoUExPVF9sb2MsICIvIixUb2RheSwiLkFFREIuQ0VBLk1DUDEucGxhc21hLkVHRlIucGRmIiksIHBsb3QgPSBsYXN0X3Bsb3QoKSkKCiMgY29tcGFyZV9tZWFucyhNQ1AxX3BnX3VnXzIwMTVfcmFuayB+IEFnZUdyb3VwLCAgZGF0YSA9IEFFREIuQ0VBLCBtZXRob2QgPSAia3J1c2thbC50ZXN0IikKcDEgPC0gZ2dwdWJyOjpnZ2JveHBsb3QoQUVEQi5DRUEgJT4lIGZpbHRlcighaXMubmEoS0RPUUkpKSwgCiAgICAgICAgICAgICAgICAgIHggPSBjKCJLRE9RSSIpLAogICAgICAgICAgICAgICAgICB5ID0gIk1DUDFfcGxhc21hX29saW5rX3JhbmsiLCAKICAgICAgICAgICAgICAgICAgeGxhYiA9ICJLaWRuZXkgZnVuY3Rpb24gKEtET1FJKSBwZXIgZ2VuZGVyIiwKICAgICAgICAgICAgICAgICAgeWxhYiA9ICJNQ1AxIHBsYXNtYSBbQVVdXG4oaW52ZXJzZS1yYW5rIHRyYW5zZm9ybWF0aW9uKSIsCiAgICAgICAgICAgICAgICAgIGNvbG9yID0gIkdlbmRlciIsCiAgICAgICAgICAgICAgICAgIHBhbGV0dGUgPSBjKCIjRDUyNjdCIiwgIiMxMjkwRDkiKSwKICAgICAgICAgICAgICAgICAgYWRkID0gImppdHRlciIpICMrCiAgIyBzdGF0X2NvbXBhcmVfbWVhbnMobWV0aG9kID0gImtydXNrYWwudGVzdCIpCmdncGFyKHAxICsgcm90YXRlX3hfdGV4dCg0NSksIGxlZ2VuZCA9ICJyaWdodCIpIApybShwMSkKZ2dzYXZlKGZpbGUgPSBwYXN0ZTAoUExPVF9sb2MsICIvIixUb2RheSwiLkFFREIuQ0VBLk1DUDEucGxhc21hLktET1FJLnBkZiIpLCBwbG90ID0gbGFzdF9wbG90KCkpCgojIGNvbXBhcmVfbWVhbnMoTUNQMV9wZ191Z18yMDE1X3JhbmsgfiBBZ2VHcm91cCwgIGRhdGEgPSBBRURCLkNFQSwgbWV0aG9kID0gImtydXNrYWwudGVzdCIpCnAxIDwtIGdncHVicjo6Z2dib3hwbG90KEFFREIuQ0VBICU+JSBmaWx0ZXIoIWlzLm5hKGVHRlJHcm91cCkgJiAhaXMubmEoS0RPUUkpKSwgCiAgICAgICAgICAgICAgICAgIHggPSBjKCJlR0ZSR3JvdXAiKSwKICAgICAgICAgICAgICAgICAgeSA9ICJNQ1AxX3BsYXNtYV9vbGlua19yYW5rIiwgCiAgICAgICAgICAgICAgICAgIHhsYWIgPSAiZUdGUiAobUwvbWluIHBlciAxLjczIG0yKSBieSBLRE9RSSBncm91cCIsCiAgICAgICAgICAgICAgICAgIHlsYWIgPSAiTUNQMSBwbGFzbWEgW0FVXVxuKGludmVyc2UtcmFuayB0cmFuc2Zvcm1hdGlvbikiLAogICAgICAgICAgICAgICAgICBjb2xvciA9ICJLRE9RSSIsCiAgICAgICAgICAgICAgICAgIHBhbGV0dGUgPSAibnBnIiwKICAgICAgICAgICAgICAgICAgYWRkID0gImppdHRlciIpICMrCiAgIyBzdGF0X2NvbXBhcmVfbWVhbnMobWV0aG9kID0gImtydXNrYWwudGVzdCIpCmdncGFyKHAxLCBsZWdlbmQgPSAicmlnaHQiKQpybShwMSkKZ2dzYXZlKGZpbGUgPSBwYXN0ZTAoUExPVF9sb2MsICIvIixUb2RheSwiLkFFREIuQ0VBLk1DUDEucGxhc21hLkVHRlJfS0RPUUkucGRmIiksIHBsb3QgPSBsYXN0X3Bsb3QoKSkKCmBgYAoKIyMjIFJhdyBkYXRhCgpTaW1hbGFybHkgYnV0IG5vdyBmb3IgdGhlIHJhdyBkYXRhIGFzIG1lZGlhbiDCsSBpbnRlcnF1YXJ0aWxlIHJhbmdlLgoKIyMjIyBNQ1AxIHBsYXF1ZSBsZXZlbHMKCgpgYGB7ciBNQ1AxIHBlciBFR0ZSIHBlciBTZXh9CgojIEdsb2JhbCB0ZXN0CiMgY29tcGFyZV9tZWFucyhNQ1AxX3BnX3VnXzIwMTVfcmFuayB+IEdlbmRlciwgIGRhdGEgPSBBRURCLkNFQSwgbWV0aG9kID0gIndpbGNveC50ZXN0IikKZ2dwdWJyOjpnZ2JveHBsb3QoQUVEQi5DRUEgJT4lIGZpbHRlcighaXMubmEoZUdGUkdyb3VwKSksIAogICAgICAgICAgICAgICAgICB4ID0gYygiZUdGUkdyb3VwIiksCiAgICAgICAgICAgICAgICAgIHkgPSAiTUNQMV9wZ191Z18yMDE1IiwgCiAgICAgICAgICAgICAgICAgIHhsYWIgPSAiZUdGUiAobUwvbWluIHBlciAxLjczIG0yKSBwZXIgZ2VuZGVyIiwKICAgICAgICAgICAgICAgICAgeWxhYiA9ICJNQ1AxIHBsYXF1ZSBbcGcvdWddIiwKICAgICAgICAgICAgICAgICAgY29sb3IgPSAiR2VuZGVyIiwKICAgICAgICAgICAgICAgICAgcGFsZXR0ZSA9IGMoIiNENTI2N0IiLCAiIzEyOTBEOSIpLAogICAgICAgICAgICAgICAgICBhZGQgPSAiaml0dGVyIikgIysKICAjIHN0YXRfY29tcGFyZV9tZWFucyhtZXRob2QgPSAid2lsY294LnRlc3QiKQpnZ3NhdmUoZmlsZSA9IHBhc3RlMChQTE9UX2xvYywgIi8iLFRvZGF5LCIuQUVEQi5DRUEuTUNQMS5wbGFxdWUucmF3LkVHRlIucGRmIiksIHBsb3QgPSBsYXN0X3Bsb3QoKSkKCiMgY29tcGFyZV9tZWFucyhNQ1AxX3BnX3VnXzIwMTVfcmFuayB+IEFnZUdyb3VwLCAgZGF0YSA9IEFFREIuQ0VBLCBtZXRob2QgPSAia3J1c2thbC50ZXN0IikKcDEgPC0gZ2dwdWJyOjpnZ2JveHBsb3QoQUVEQi5DRUEgJT4lIGZpbHRlcighaXMubmEoS0RPUUkpKSwgCiAgICAgICAgICAgICAgICAgIHggPSBjKCJLRE9RSSIpLAogICAgICAgICAgICAgICAgICB5ID0gIk1DUDFfcGdfdWdfMjAxNSIsIAogICAgICAgICAgICAgICAgICB4bGFiID0gIktpZG5leSBmdW5jdGlvbiAoS0RPUUkpIHBlciBnZW5kZXIiLAogICAgICAgICAgICAgICAgICB5bGFiID0gIk1DUDEgcGxhcXVlIFtwZy91Z10iLAogICAgICAgICAgICAgICAgICBjb2xvciA9ICJHZW5kZXIiLAogICAgICAgICAgICAgICAgICBwYWxldHRlID0gYygiI0Q1MjY3QiIsICIjMTI5MEQ5IiksCiAgICAgICAgICAgICAgICAgIGFkZCA9ICJqaXR0ZXIiKSAjKwogICMgc3RhdF9jb21wYXJlX21lYW5zKG1ldGhvZCA9ICJrcnVza2FsLnRlc3QiKQpnZ3BhcihwMSArIHJvdGF0ZV94X3RleHQoNDUpLCBsZWdlbmQgPSAicmlnaHQiKSAKcm0ocDEpCmdnc2F2ZShmaWxlID0gcGFzdGUwKFBMT1RfbG9jLCAiLyIsVG9kYXksIi5BRURCLkNFQS5NQ1AxLnBsYXF1ZS5yYXcuS0RPUUkucGRmIiksIHBsb3QgPSBsYXN0X3Bsb3QoKSkKCiMgY29tcGFyZV9tZWFucyhNQ1AxX3BnX3VnXzIwMTVfcmFuayB+IEFnZUdyb3VwLCAgZGF0YSA9IEFFREIuQ0VBLCBtZXRob2QgPSAia3J1c2thbC50ZXN0IikKcDEgPC0gZ2dwdWJyOjpnZ2JveHBsb3QoQUVEQi5DRUEgJT4lIGZpbHRlcighaXMubmEoZUdGUkdyb3VwKSAmICFpcy5uYShLRE9RSSkpLCAKICAgICAgICAgICAgICAgICAgeCA9IGMoImVHRlJHcm91cCIpLAogICAgICAgICAgICAgICAgICB5ID0gIk1DUDFfcGdfdWdfMjAxNSIsIAogICAgICAgICAgICAgICAgICB4bGFiID0gImVHRlIgKG1ML21pbiBwZXIgMS43MyBtMikgYnkgS0RPUUkgZ3JvdXAiLAogICAgICAgICAgICAgICAgICB5bGFiID0gIk1DUDEgcGxhcXVlIFtwZy91Z10iLAogICAgICAgICAgICAgICAgICBjb2xvciA9ICJLRE9RSSIsCiAgICAgICAgICAgICAgICAgIHBhbGV0dGUgPSAibnBnIiwKICAgICAgICAgICAgICAgICAgYWRkID0gImppdHRlciIpICMrCiAgIyBzdGF0X2NvbXBhcmVfbWVhbnMobWV0aG9kID0gImtydXNrYWwudGVzdCIpCmdncGFyKHAxLCBsZWdlbmQgPSAicmlnaHQiKQpybShwMSkKZ2dzYXZlKGZpbGUgPSBwYXN0ZTAoUExPVF9sb2MsICIvIixUb2RheSwiLkFFREIuQ0VBLk1DUDEucGxhcXVlLnJhdy5FR0ZSX0tET1FJLnBkZiIpLCBwbG90ID0gbGFzdF9wbG90KCkpCgpgYGAKCiMjIyBNQ1AxIHBsYXNtYSBsZXZlbHMKCmBgYHtyIE1DUDEgcGVyIEVHRlIgcGVyIFNleCwgcGxhc21hfQoKIyBHbG9iYWwgdGVzdAojIGNvbXBhcmVfbWVhbnMoTUNQMV9wZ191Z18yMDE1X3JhbmsgfiBHZW5kZXIsICBkYXRhID0gQUVEQi5DRUEsIG1ldGhvZCA9ICJ3aWxjb3gudGVzdCIpCmdncHVicjo6Z2dib3hwbG90KEFFREIuQ0VBICU+JSBmaWx0ZXIoIWlzLm5hKGVHRlJHcm91cCkpLCAKICAgICAgICAgICAgICAgICAgeCA9IGMoImVHRlJHcm91cCIpLAogICAgICAgICAgICAgICAgICB5ID0gIk1DUDFfcGxhc21hX29saW5rIiwgCiAgICAgICAgICAgICAgICAgIHhsYWIgPSAiZUdGUiAobUwvbWluIHBlciAxLjczIG0yKSBwZXIgZ2VuZGVyIiwKICAgICAgICAgICAgICAgICAgeWxhYiA9ICJNQ1AxIHBsYXNtYSBbQVVdIiwKICAgICAgICAgICAgICAgICAgY29sb3IgPSAiR2VuZGVyIiwKICAgICAgICAgICAgICAgICAgcGFsZXR0ZSA9IGMoIiNENTI2N0IiLCAiIzEyOTBEOSIpLAogICAgICAgICAgICAgICAgICBhZGQgPSAiaml0dGVyIikgIysKICAjIHN0YXRfY29tcGFyZV9tZWFucyhtZXRob2QgPSAid2lsY294LnRlc3QiKQpnZ3NhdmUoZmlsZSA9IHBhc3RlMChQTE9UX2xvYywgIi8iLFRvZGF5LCIuQUVEQi5DRUEuTUNQMS5wbGFzbWEucmF3LkVHRlIucGRmIiksIHBsb3QgPSBsYXN0X3Bsb3QoKSkKCiMgY29tcGFyZV9tZWFucyhNQ1AxX3BnX3VnXzIwMTVfcmFuayB+IEFnZUdyb3VwLCAgZGF0YSA9IEFFREIuQ0VBLCBtZXRob2QgPSAia3J1c2thbC50ZXN0IikKcDEgPC0gZ2dwdWJyOjpnZ2JveHBsb3QoQUVEQi5DRUEgJT4lIGZpbHRlcighaXMubmEoS0RPUUkpKSwgCiAgICAgICAgICAgICAgICAgIHggPSBjKCJLRE9RSSIpLAogICAgICAgICAgICAgICAgICB5ID0gIk1DUDFfcGxhc21hX29saW5rIiwgCiAgICAgICAgICAgICAgICAgIHhsYWIgPSAiS2lkbmV5IGZ1bmN0aW9uIChLRE9RSSkgcGVyIGdlbmRlciIsCiAgICAgICAgICAgICAgICAgIHlsYWIgPSAiTUNQMSBwbGFzbWEgW0FVXSIsCiAgICAgICAgICAgICAgICAgIGNvbG9yID0gIkdlbmRlciIsCiAgICAgICAgICAgICAgICAgIHBhbGV0dGUgPSBjKCIjRDUyNjdCIiwgIiMxMjkwRDkiKSwKICAgICAgICAgICAgICAgICAgYWRkID0gImppdHRlciIpICMrCiAgIyBzdGF0X2NvbXBhcmVfbWVhbnMobWV0aG9kID0gImtydXNrYWwudGVzdCIpCmdncGFyKHAxICsgcm90YXRlX3hfdGV4dCg0NSksIGxlZ2VuZCA9ICJyaWdodCIpIApybShwMSkKZ2dzYXZlKGZpbGUgPSBwYXN0ZTAoUExPVF9sb2MsICIvIixUb2RheSwiLkFFREIuQ0VBLk1DUDEucGxhc21hLnJhdy5LRE9RSS5wZGYiKSwgcGxvdCA9IGxhc3RfcGxvdCgpKQoKIyBjb21wYXJlX21lYW5zKE1DUDFfcGdfdWdfMjAxNV9yYW5rIH4gQWdlR3JvdXAsICBkYXRhID0gQUVEQi5DRUEsIG1ldGhvZCA9ICJrcnVza2FsLnRlc3QiKQpwMSA8LSBnZ3B1YnI6OmdnYm94cGxvdChBRURCLkNFQSAlPiUgZmlsdGVyKCFpcy5uYShlR0ZSR3JvdXApICYgIWlzLm5hKEtET1FJKSksIAogICAgICAgICAgICAgICAgICB4ID0gYygiZUdGUkdyb3VwIiksCiAgICAgICAgICAgICAgICAgIHkgPSAiTUNQMV9wbGFzbWFfb2xpbmsiLCAKICAgICAgICAgICAgICAgICAgeGxhYiA9ICJlR0ZSIChtTC9taW4gcGVyIDEuNzMgbTIpIGJ5IEtET1FJIGdyb3VwIiwKICAgICAgICAgICAgICAgICAgeWxhYiA9ICJNQ1AxIHBsYXNtYSBbQVVdIiwKICAgICAgICAgICAgICAgICAgY29sb3IgPSAiS0RPUUkiLAogICAgICAgICAgICAgICAgICBwYWxldHRlID0gIm5wZyIsCiAgICAgICAgICAgICAgICAgIGFkZCA9ICJqaXR0ZXIiKSAjKwogICMgc3RhdF9jb21wYXJlX21lYW5zKG1ldGhvZCA9ICJrcnVza2FsLnRlc3QiKQpnZ3BhcihwMSwgbGVnZW5kID0gInJpZ2h0IikKcm0ocDEpCmdnc2F2ZShmaWxlID0gcGFzdGUwKFBMT1RfbG9jLCAiLyIsVG9kYXksIi5BRURCLkNFQS5NQ1AxLnBsYXNtYS5yYXcuRUdGUl9LRE9RSS5wZGYiKSwgcGxvdCA9IGxhc3RfcGxvdCgpKQoKYGBgCgoKIyMgQk1JCldlIHdhbnQgdG8gY3JlYXRlIGZpZ3VyZXMgb2YgTUNQMSBsZXZlbHMgc3RyYXRpZmllZCBieSBCTUkuIAoKLSBCb3ggYW5kIFdoaXNrZXIgcGxvdCBmb3IgTUNQLTEgcGxhcXVlIGxldmVscyBieSBCTUkgV0hPIGdyb3VwICh1bmRlcndlaWdodCwgbm9ybWFsLCBvdmVyd2VpZ2h0LCBvYmVzZSkKLSBCb3ggYW5kIFdoaXNrZXIgcGxvdCBmb3IgTUNQLTEgcGxhc21hIGxldmVscyBieSBCTUkgZ3JvdXAgKDwxOC41LCAxOC41LTI0LjksIDI1LCAyOS45LCAzMC0yNC45LCAzNSspCgpgYGB7ciBCTUl9CmxpYnJhcnkoZHBseXIpCgpBRURCLkNFQSA8LSBBRURCLkNFQSAlPiUgbXV0YXRlKEJNSUdyb3VwID0gZmFjdG9yKGNhc2Vfd2hlbihCTUkgPCAxOC41IH4gIjwxOC41IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCTUkgPj0gMTguNSAgJiBCTUkgPCAyNSB+ICIxOC41LTI0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCTUkgPj0gMjUgICYgQk1JIDwgMzAgfiAiMjUtMjkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJNSSA+PSAzMCAgJiBCTUkgPCAzNSB+ICIzMC0zNSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQk1JID49IDM1IH4gIjM1KyIpKSkgCgojIHJlcXVpcmUobGFiZWxsZWQpCiMgQUVEQi5DRUEkQk1JX1VTIDwtIGFzX2ZhY3RvcihBRURCLkNFQSRCTUlfVVMpCiMgQUVEQi5DRUEkQk1JX1dITyA8LSBhc19mYWN0b3IoQUVEQi5DRUEkQk1JX1dITykKIyB0YWJsZShBRURCLkNFQSRCTUlfV0hPLCBBRURCLkNFQSRCTUlfVVMpCgp0YWJsZShBRURCLkNFQSRCTUlHcm91cCwgQUVEQi5DRUEkR2VuZGVyKQp0YWJsZShBRURCLkNFQSRCTUlHcm91cCwgQUVEQi5DRUEkQk1JX1dITykKCmBgYAoKTm93IHdlIGNhbiBkcmF3IHNvbWUgZ3JhcGhzIG9mIHBsYXNtYS9wbGFxdWUgTUNQMSBsZXZlbHMgcGVyIHNleCBhbmQgYWdlIGdyb3VwLgoKIyMjIEludmVyc2UtcmFuayB0cmFuc2Zvcm1lZCBkYXRhCgojIyMjIE1DUDEgcGxhcXVlIGxldmVscwoKYGBge3IgTUNQMSBwZXIgQk1JIHBlciBTZXgsIHJhbmtlZH0KCiMgR2xvYmFsIHRlc3QKIyBjb21wYXJlX21lYW5zKE1DUDFfcGdfdWdfMjAxNV9yYW5rIH4gR2VuZGVyLCAgZGF0YSA9IEFFREIuQ0VBLCBtZXRob2QgPSAid2lsY294LnRlc3QiKQpnZ3B1YnI6OmdnYm94cGxvdChBRURCLkNFQSAlPiUgZmlsdGVyKCFpcy5uYShCTUlHcm91cCkpLCAKICAgICAgICAgICAgICAgICAgeCA9IGMoIkJNSUdyb3VwIiksCiAgICAgICAgICAgICAgICAgIHkgPSAiTUNQMV9wZ191Z18yMDE1X3JhbmsiLCAKICAgICAgICAgICAgICAgICAgeGxhYiA9ICJCTUkgZ3JvdXBzIChrZy9tMikiLAogICAgICAgICAgICAgICAgICB5bGFiID0gIk1DUDEgcGxhcXVlIFtwZy91Z11cbihpbnZlcnNlLXJhbmsgdHJhbnNmb3JtYXRpb24pIiwKICAgICAgICAgICAgICAgICAgIyBjb2xvciA9ICJHZW5kZXIiLAogICAgICAgICAgICAgICAgICAjIHBhbGV0dGUgPSBjKCIjRDUyNjdCIiwgIiMxMjkwRDkiKSwKICAgICAgICAgICAgICAgICAgY29sb3IgPSAiIzEyOTBEOSIsCiAgICAgICAgICAgICAgICAgIGFkZCA9ICJqaXR0ZXIiKSAjKwogICMgc3RhdF9jb21wYXJlX21lYW5zKG1ldGhvZCA9ICJ3aWxjb3gudGVzdCIpCmdnc2F2ZShmaWxlID0gcGFzdGUwKFBMT1RfbG9jLCAiLyIsVG9kYXksIi5BRURCLkNFQS5NQ1AxLnBsYXF1ZS5CTUkucGRmIiksIHBsb3QgPSBsYXN0X3Bsb3QoKSkKCiMgY29tcGFyZV9tZWFucyhNQ1AxX3BnX3VnXzIwMTVfcmFuayB+IEdlbmRlciwgIGRhdGEgPSBBRURCLkNFQSwgbWV0aG9kID0gIndpbGNveC50ZXN0IikKZ2dwdWJyOjpnZ2JveHBsb3QoQUVEQi5DRUEgJT4lIGZpbHRlcighaXMubmEoQk1JR3JvdXApKSwgCiAgICAgICAgICAgICAgICAgIHggPSBjKCJCTUlHcm91cCIpLAogICAgICAgICAgICAgICAgICB5ID0gIk1DUDFfcGdfdWdfMjAxNV9yYW5rIiwgCiAgICAgICAgICAgICAgICAgIHhsYWIgPSAiQk1JIGdyb3VwcyAoa2cvbTIpIiwKICAgICAgICAgICAgICAgICAgeWxhYiA9ICJNQ1AxIHBsYXF1ZSBbcGcvdWddXG4oaW52ZXJzZS1yYW5rIHRyYW5zZm9ybWF0aW9uKSIsCiAgICAgICAgICAgICAgICAgIGNvbG9yID0gIkdlbmRlciIsCiAgICAgICAgICAgICAgICAgIHBhbGV0dGUgPSBjKCIjRDUyNjdCIiwgIiMxMjkwRDkiKSwKICAgICAgICAgICAgICAgICAgYWRkID0gImppdHRlciIpICMrCiAgIyBzdGF0X2NvbXBhcmVfbWVhbnMobWV0aG9kID0gIndpbGNveC50ZXN0IikKZ2dzYXZlKGZpbGUgPSBwYXN0ZTAoUExPVF9sb2MsICIvIixUb2RheSwiLkFFREIuQ0VBLk1DUDEucGxhcXVlLkJNSV9ieUdlbmRlci5wZGYiKSwgcGxvdCA9IGxhc3RfcGxvdCgpKQoKIyBjb21wYXJlX21lYW5zKE1DUDFfcGdfdWdfMjAxNV9yYW5rIH4gQWdlR3JvdXAsICBkYXRhID0gQUVEQi5DRUEsIG1ldGhvZCA9ICJrcnVza2FsLnRlc3QiKQpwMSA8LSBnZ3B1YnI6OmdnYm94cGxvdChBRURCLkNFQSAlPiUgZmlsdGVyKCFpcy5uYShCTUlHcm91cCkgJiAhaXMubmEoQk1JX1dITykpLCAKICAgICAgICAgICAgICAgICAgeCA9IGMoIkFnZUdyb3VwIiksCiAgICAgICAgICAgICAgICAgIHkgPSAiTUNQMV9wZ191Z18yMDE1X3JhbmsiLCAKICAgICAgICAgICAgICAgICAgeGxhYiA9ICJCTUkgZ3JvdXBzIChrZy9tMikgcGVyIFdITyBjYXRlZ29yaWVzIiwKICAgICAgICAgICAgICAgICAgeWxhYiA9ICJNQ1AxIHBsYXF1ZSBbcGcvdWddXG4oaW52ZXJzZS1yYW5rIHRyYW5zZm9ybWF0aW9uKSIsCiAgICAgICAgICAgICAgICAgIGNvbG9yID0gIkJNSV9XSE8iLAogICAgICAgICAgICAgICAgICBwYWxldHRlID0gIm5wZyIsCiAgICAgICAgICAgICAgICAgIGFkZCA9ICJqaXR0ZXIiKSAjKwogICMgc3RhdF9jb21wYXJlX21lYW5zKG1ldGhvZCA9ICJrcnVza2FsLnRlc3QiKQpnZ3BhcihwMSwgbGVnZW5kID0gInJpZ2h0IikKcm0ocDEpCmdnc2F2ZShmaWxlID0gcGFzdGUwKFBMT1RfbG9jLCAiLyIsVG9kYXksIi5BRURCLkNFQS5NQ1AxLnBsYXF1ZS5CTUlfYnlXSE8ucGRmIiksIHBsb3QgPSBsYXN0X3Bsb3QoKSkKCmBgYAoKIyMjIyBNQ1AxIHBsYXNtYSBsZXZlbHMKCj4gTk9UIEFWQUlMQUJMRSBZRVQKCmBgYHtyIE1DUDEgcGVyIEJNSSBwZXIgU2V4LCByYW5rZWQgcGxhc21hfQoKIyBHbG9iYWwgdGVzdAojIGNvbXBhcmVfbWVhbnMoTUNQMV9wZ191Z18yMDE1X3JhbmsgfiBHZW5kZXIsICBkYXRhID0gQUVEQi5DRUEsIG1ldGhvZCA9ICJ3aWxjb3gudGVzdCIpCmdncHVicjo6Z2dib3hwbG90KEFFREIuQ0VBICU+JSBmaWx0ZXIoIWlzLm5hKEJNSUdyb3VwKSksIAogICAgICAgICAgICAgICAgICB4ID0gYygiQk1JR3JvdXAiKSwKICAgICAgICAgICAgICAgICAgeSA9ICJNQ1AxX3BsYXNtYV9vbGlua19yYW5rIiwgCiAgICAgICAgICAgICAgICAgIHhsYWIgPSAiQk1JIGdyb3VwcyAoa2cvbTIpIiwKICAgICAgICAgICAgICAgICAgeWxhYiA9ICJNQ1AxIHBsYXNtYSBbQVVdXG4oaW52ZXJzZS1yYW5rIHRyYW5zZm9ybWF0aW9uKSIsCiAgICAgICAgICAgICAgICAgICMgY29sb3IgPSAiR2VuZGVyIiwKICAgICAgICAgICAgICAgICAgIyBwYWxldHRlID0gYygiI0Q1MjY3QiIsICIjMTI5MEQ5IiksCiAgICAgICAgICAgICAgICAgIGNvbG9yID0gIiMxMjkwRDkiLAogICAgICAgICAgICAgICAgICBhZGQgPSAiaml0dGVyIikgIysKICAjIHN0YXRfY29tcGFyZV9tZWFucyhtZXRob2QgPSAid2lsY294LnRlc3QiKQpnZ3NhdmUoZmlsZSA9IHBhc3RlMChQTE9UX2xvYywgIi8iLFRvZGF5LCIuQUVEQi5DRUEuTUNQMS5wbGFzbWEuQk1JLnBkZiIpLCBwbG90ID0gbGFzdF9wbG90KCkpCgojIGNvbXBhcmVfbWVhbnMoTUNQMV9wZ191Z18yMDE1X3JhbmsgfiBHZW5kZXIsICBkYXRhID0gQUVEQi5DRUEsIG1ldGhvZCA9ICJ3aWxjb3gudGVzdCIpCmdncHVicjo6Z2dib3hwbG90KEFFREIuQ0VBICU+JSBmaWx0ZXIoIWlzLm5hKEJNSUdyb3VwKSksIAogICAgICAgICAgICAgICAgICB4ID0gYygiQk1JR3JvdXAiKSwKICAgICAgICAgICAgICAgICAgeSA9ICJNQ1AxX3BsYXNtYV9vbGlua19yYW5rIiwgCiAgICAgICAgICAgICAgICAgIHhsYWIgPSAiQk1JIGdyb3VwcyAoa2cvbTIpIiwKICAgICAgICAgICAgICAgICAgeWxhYiA9ICJNQ1AxIHBsYXNtYSBbQVVdXG4oaW52ZXJzZS1yYW5rIHRyYW5zZm9ybWF0aW9uKSIsCiAgICAgICAgICAgICAgICAgIGNvbG9yID0gIkdlbmRlciIsCiAgICAgICAgICAgICAgICAgIHBhbGV0dGUgPSBjKCIjRDUyNjdCIiwgIiMxMjkwRDkiKSwKICAgICAgICAgICAgICAgICAgYWRkID0gImppdHRlciIpICMrCiAgIyBzdGF0X2NvbXBhcmVfbWVhbnMobWV0aG9kID0gIndpbGNveC50ZXN0IikKZ2dzYXZlKGZpbGUgPSBwYXN0ZTAoUExPVF9sb2MsICIvIixUb2RheSwiLkFFREIuQ0VBLk1DUDEucGxhc21hLkJNSV9ieUdlbmRlci5wZGYiKSwgcGxvdCA9IGxhc3RfcGxvdCgpKQoKIyBjb21wYXJlX21lYW5zKE1DUDFfcGdfdWdfMjAxNV9yYW5rIH4gQWdlR3JvdXAsICBkYXRhID0gQUVEQi5DRUEsIG1ldGhvZCA9ICJrcnVza2FsLnRlc3QiKQpwMSA8LSBnZ3B1YnI6OmdnYm94cGxvdChBRURCLkNFQSAlPiUgZmlsdGVyKCFpcy5uYShCTUlHcm91cCkgJiAhaXMubmEoQk1JX1dITykpLCAKICAgICAgICAgICAgICAgICAgeCA9IGMoIkFnZUdyb3VwIiksCiAgICAgICAgICAgICAgICAgIHkgPSAiTUNQMV9wbGFzbWFfb2xpbmtfcmFuayIsIAogICAgICAgICAgICAgICAgICB4bGFiID0gIkJNSSBncm91cHMgKGtnL20yKSBwZXIgV0hPIGNhdGVnb3JpZXMiLAogICAgICAgICAgICAgICAgICB5bGFiID0gIk1DUDEgcGxhc21hIFtBVV1cbihpbnZlcnNlLXJhbmsgdHJhbnNmb3JtYXRpb24pIiwKICAgICAgICAgICAgICAgICAgY29sb3IgPSAiQk1JX1dITyIsCiAgICAgICAgICAgICAgICAgIHBhbGV0dGUgPSAibnBnIiwKICAgICAgICAgICAgICAgICAgYWRkID0gImppdHRlciIpICMrCiAgIyBzdGF0X2NvbXBhcmVfbWVhbnMobWV0aG9kID0gImtydXNrYWwudGVzdCIpCmdncGFyKHAxLCBsZWdlbmQgPSAicmlnaHQiKQpybShwMSkKZ2dzYXZlKGZpbGUgPSBwYXN0ZTAoUExPVF9sb2MsICIvIixUb2RheSwiLkFFREIuQ0VBLk1DUDEucGxhc21hLkJNSV9ieVdITy5wZGYiKSwgcGxvdCA9IGxhc3RfcGxvdCgpKQoKYGBgCgojIyMgUmF3IGRhdGEKClNpbWFsYXJseSBidXQgbm93IGZvciB0aGUgcmF3IGRhdGEgYXMgbWVkaWFuIMKxIGludGVycXVhcnRpbGUgcmFuZ2UuCgojIyMjIE1DUDEgcGxhcXVlIGxldmVscwoKCmBgYHtyIE1DUDEgcGVyIEJNSSBwZXIgU2V4fQoKIyBHbG9iYWwgdGVzdAojIGNvbXBhcmVfbWVhbnMoTUNQMV9wZ191Z18yMDE1X3JhbmsgfiBHZW5kZXIsICBkYXRhID0gQUVEQi5DRUEsIG1ldGhvZCA9ICJ3aWxjb3gudGVzdCIpCmdncHVicjo6Z2dib3hwbG90KEFFREIuQ0VBICU+JSBmaWx0ZXIoIWlzLm5hKEJNSUdyb3VwKSksIAogICAgICAgICAgICAgICAgICB4ID0gYygiQk1JR3JvdXAiKSwKICAgICAgICAgICAgICAgICAgeSA9ICJNQ1AxX3BnX3VnXzIwMTUiLCAKICAgICAgICAgICAgICAgICAgeGxhYiA9ICJCTUkgZ3JvdXBzIChrZy9tMikiLAogICAgICAgICAgICAgICAgICB5bGFiID0gIk1DUDEgcGxhcXVlIFtwZy91Z10iLAogICAgICAgICAgICAgICAgICAjIGNvbG9yID0gIkdlbmRlciIsCiAgICAgICAgICAgICAgICAgICMgcGFsZXR0ZSA9IGMoIiNENTI2N0IiLCAiIzEyOTBEOSIpLAogICAgICAgICAgICAgICAgICBjb2xvciA9ICIjMTI5MEQ5IiwKICAgICAgICAgICAgICAgICAgYWRkID0gImppdHRlciIpICMrCiAgIyBzdGF0X2NvbXBhcmVfbWVhbnMobWV0aG9kID0gIndpbGNveC50ZXN0IikKZ2dzYXZlKGZpbGUgPSBwYXN0ZTAoUExPVF9sb2MsICIvIixUb2RheSwiLkFFREIuQ0VBLk1DUDEucGxhcXVlLnJhdy5CTUkucGRmIiksIHBsb3QgPSBsYXN0X3Bsb3QoKSkKCiMgY29tcGFyZV9tZWFucyhNQ1AxX3BnX3VnXzIwMTVfcmFuayB+IEdlbmRlciwgIGRhdGEgPSBBRURCLkNFQSwgbWV0aG9kID0gIndpbGNveC50ZXN0IikKZ2dwdWJyOjpnZ2JveHBsb3QoQUVEQi5DRUEgJT4lIGZpbHRlcighaXMubmEoQk1JR3JvdXApKSwgCiAgICAgICAgICAgICAgICAgIHggPSBjKCJCTUlHcm91cCIpLAogICAgICAgICAgICAgICAgICB5ID0gIk1DUDFfcGdfdWdfMjAxNSIsIAogICAgICAgICAgICAgICAgICB4bGFiID0gIkJNSSBncm91cHMgKGtnL20yKSIsCiAgICAgICAgICAgICAgICAgIHlsYWIgPSAiTUNQMSBwbGFxdWUgW3BnL3VnXSIsCiAgICAgICAgICAgICAgICAgIGNvbG9yID0gIkdlbmRlciIsCiAgICAgICAgICAgICAgICAgIHBhbGV0dGUgPSBjKCIjRDUyNjdCIiwgIiMxMjkwRDkiKSwKICAgICAgICAgICAgICAgICAgYWRkID0gImppdHRlciIpICMrCiAgIyBzdGF0X2NvbXBhcmVfbWVhbnMobWV0aG9kID0gIndpbGNveC50ZXN0IikKZ2dzYXZlKGZpbGUgPSBwYXN0ZTAoUExPVF9sb2MsICIvIixUb2RheSwiLkFFREIuQ0VBLk1DUDEucGxhcXVlLnJhdy5CTUlfYnlHZW5kZXIucGRmIiksIHBsb3QgPSBsYXN0X3Bsb3QoKSkKCiMgY29tcGFyZV9tZWFucyhNQ1AxX3BnX3VnXzIwMTVfcmFuayB+IEFnZUdyb3VwLCAgZGF0YSA9IEFFREIuQ0VBLCBtZXRob2QgPSAia3J1c2thbC50ZXN0IikKcDEgPC0gZ2dwdWJyOjpnZ2JveHBsb3QoQUVEQi5DRUEgJT4lIGZpbHRlcighaXMubmEoQk1JR3JvdXApICYgIWlzLm5hKEJNSV9XSE8pKSwgCiAgICAgICAgICAgICAgICAgIHggPSBjKCJBZ2VHcm91cCIpLAogICAgICAgICAgICAgICAgICB5ID0gIk1DUDFfcGdfdWdfMjAxNSIsIAogICAgICAgICAgICAgICAgICB4bGFiID0gIkJNSSBncm91cHMgKGtnL20yKSBwZXIgV0hPIGNhdGVnb3JpZXMiLAogICAgICAgICAgICAgICAgICB5bGFiID0gIk1DUDEgcGxhcXVlIFtwZy91Z10iLAogICAgICAgICAgICAgICAgICBjb2xvciA9ICJCTUlfV0hPIiwKICAgICAgICAgICAgICAgICAgcGFsZXR0ZSA9ICJucGciLAogICAgICAgICAgICAgICAgICBhZGQgPSAiaml0dGVyIikgIysKICAjIHN0YXRfY29tcGFyZV9tZWFucyhtZXRob2QgPSAia3J1c2thbC50ZXN0IikKZ2dwYXIocDEsIGxlZ2VuZCA9ICJyaWdodCIpCnJtKHAxKQpnZ3NhdmUoZmlsZSA9IHBhc3RlMChQTE9UX2xvYywgIi8iLFRvZGF5LCIuQUVEQi5DRUEuTUNQMS5wbGFxdWUucmF3LkJNSV9ieVdITy5wZGYiKSwgcGxvdCA9IGxhc3RfcGxvdCgpKQoKYGBgCgojIyMgTUNQMSBwbGFzbWEgbGV2ZWxzCgpgYGB7ciBNQ1AxIHBlciBCTUkgcGVyIFNleCwgcGxhc21hfQojIEdsb2JhbCB0ZXN0CiMgY29tcGFyZV9tZWFucyhNQ1AxX3BnX3VnXzIwMTVfcmFuayB+IEdlbmRlciwgIGRhdGEgPSBBRURCLkNFQSwgbWV0aG9kID0gIndpbGNveC50ZXN0IikKZ2dwdWJyOjpnZ2JveHBsb3QoQUVEQi5DRUEgJT4lIGZpbHRlcighaXMubmEoQk1JR3JvdXApKSwgCiAgICAgICAgICAgICAgICAgIHggPSBjKCJCTUlHcm91cCIpLAogICAgICAgICAgICAgICAgICB5ID0gIk1DUDFfcGxhc21hX29saW5rIiwgCiAgICAgICAgICAgICAgICAgIHhsYWIgPSAiQk1JIGdyb3VwcyAoa2cvbTIpIiwKICAgICAgICAgICAgICAgICAgeWxhYiA9ICJNQ1AxIHBsYXNtYSBbQVVdIiwKICAgICAgICAgICAgICAgICAgIyBjb2xvciA9ICJHZW5kZXIiLAogICAgICAgICAgICAgICAgICAjIHBhbGV0dGUgPSBjKCIjRDUyNjdCIiwgIiMxMjkwRDkiKSwKICAgICAgICAgICAgICAgICAgY29sb3IgPSAiIzEyOTBEOSIsCiAgICAgICAgICAgICAgICAgIGFkZCA9ICJqaXR0ZXIiKSAjKwogICMgc3RhdF9jb21wYXJlX21lYW5zKG1ldGhvZCA9ICJ3aWxjb3gudGVzdCIpCmdnc2F2ZShmaWxlID0gcGFzdGUwKFBMT1RfbG9jLCAiLyIsVG9kYXksIi5BRURCLkNFQS5NQ1AxLnBsYXNtYS5yYXcuQk1JLnBkZiIpLCBwbG90ID0gbGFzdF9wbG90KCkpCgojIGNvbXBhcmVfbWVhbnMoTUNQMV9wZ191Z18yMDE1X3JhbmsgfiBHZW5kZXIsICBkYXRhID0gQUVEQi5DRUEsIG1ldGhvZCA9ICJ3aWxjb3gudGVzdCIpCmdncHVicjo6Z2dib3hwbG90KEFFREIuQ0VBICU+JSBmaWx0ZXIoIWlzLm5hKEJNSUdyb3VwKSksIAogICAgICAgICAgICAgICAgICB4ID0gYygiQk1JR3JvdXAiKSwKICAgICAgICAgICAgICAgICAgeSA9ICJNQ1AxX3BsYXNtYV9vbGluayIsIAogICAgICAgICAgICAgICAgICB4bGFiID0gIkJNSSBncm91cHMgKGtnL20yKSIsCiAgICAgICAgICAgICAgICAgIHlsYWIgPSAiTUNQMSBwbGFzbWEgW0FVXSIsCiAgICAgICAgICAgICAgICAgIGNvbG9yID0gIkdlbmRlciIsCiAgICAgICAgICAgICAgICAgIHBhbGV0dGUgPSBjKCIjRDUyNjdCIiwgIiMxMjkwRDkiKSwKICAgICAgICAgICAgICAgICAgYWRkID0gImppdHRlciIpICMrCiAgIyBzdGF0X2NvbXBhcmVfbWVhbnMobWV0aG9kID0gIndpbGNveC50ZXN0IikKZ2dzYXZlKGZpbGUgPSBwYXN0ZTAoUExPVF9sb2MsICIvIixUb2RheSwiLkFFREIuQ0VBLk1DUDEucGxhc21hLnJhdy5CTUlfYnlHZW5kZXIucGRmIiksIHBsb3QgPSBsYXN0X3Bsb3QoKSkKCiMgY29tcGFyZV9tZWFucyhNQ1AxX3BnX3VnXzIwMTVfcmFuayB+IEFnZUdyb3VwLCAgZGF0YSA9IEFFREIuQ0VBLCBtZXRob2QgPSAia3J1c2thbC50ZXN0IikKcDEgPC0gZ2dwdWJyOjpnZ2JveHBsb3QoQUVEQi5DRUEgJT4lIGZpbHRlcighaXMubmEoQk1JR3JvdXApICYgIWlzLm5hKEJNSV9XSE8pKSwgCiAgICAgICAgICAgICAgICAgIHggPSBjKCJBZ2VHcm91cCIpLAogICAgICAgICAgICAgICAgICB5ID0gIk1DUDFfcGxhc21hX29saW5rIiwgCiAgICAgICAgICAgICAgICAgIHhsYWIgPSAiQk1JIGdyb3VwcyAoa2cvbTIpIHBlciBXSE8gY2F0ZWdvcmllcyIsCiAgICAgICAgICAgICAgICAgIHlsYWIgPSAiTUNQMSBwbGFzbWEgW0FVXSIsCiAgICAgICAgICAgICAgICAgIGNvbG9yID0gIkJNSV9XSE8iLAogICAgICAgICAgICAgICAgICBwYWxldHRlID0gIm5wZyIsCiAgICAgICAgICAgICAgICAgIGFkZCA9ICJqaXR0ZXIiKSAjKwogICMgc3RhdF9jb21wYXJlX21lYW5zKG1ldGhvZCA9ICJrcnVza2FsLnRlc3QiKQpnZ3BhcihwMSwgbGVnZW5kID0gInJpZ2h0IikKcm0ocDEpCmdnc2F2ZShmaWxlID0gcGFzdGUwKFBMT1RfbG9jLCAiLyIsVG9kYXksIi5BRURCLkNFQS5NQ1AxLnBsYXNtYS5yYXcuQk1JX2J5V0hPLnBkZiIpLCBwbG90ID0gbGFzdF9wbG90KCkpCgpgYGAKCgojIyBEaWFiZXRlcwpXZSB3YW50IHRvIGNyZWF0ZSBmaWd1cmVzIG9mIE1DUDEgbGV2ZWxzIHN0cmF0aWZpZWQgYnkgdHlwZSAyIGRpYWJldGVzLiAKCi0gQm94IGFuZCBXaGlza2VyIHBsb3QgZm9yIE1DUC0xIHBsYXF1ZSBsZXZlbHMgYnkgdHlwZSAyIGRpYWJldGVzIGdyb3VwIChubywgeWVzKQoKTm93IHdlIGNhbiBkcmF3IHNvbWUgZ3JhcGhzIG9mIHBsYXNtYS9wbGFxdWUgTUNQMSBsZXZlbHMgcGVyIHNleCBhbmQgYWdlIGdyb3VwLgoKIyMjIEludmVyc2UtcmFuayB0cmFuc2Zvcm1lZCBkYXRhCgojIyMjIE1DUDEgcGxhcXVlIGxldmVscwoKYGBge3IgTUNQMSBwZXIgRGlhYmV0ZXMgcGVyIFNleCwgcmFua2VkfQoKIyBHbG9iYWwgdGVzdAojIGNvbXBhcmVfbWVhbnMoTUNQMV9wZ191Z18yMDE1X3JhbmsgfiBHZW5kZXIsICBkYXRhID0gQUVEQi5DRUEsIG1ldGhvZCA9ICJ3aWxjb3gudGVzdCIpCmdncHVicjo6Z2dib3hwbG90KEFFREIuQ0VBICU+JSBmaWx0ZXIoIWlzLm5hKERpYWJldGVzU3RhdHVzKSksIAogICAgICAgICAgICAgICAgICB4ID0gYygiRGlhYmV0ZXNTdGF0dXMiKSwKICAgICAgICAgICAgICAgICAgeSA9ICJNQ1AxX3BnX3VnXzIwMTVfcmFuayIsIAogICAgICAgICAgICAgICAgICB4bGFiID0gIkRpYWJldGVzIHN0YXR1cyIsCiAgICAgICAgICAgICAgICAgIHlsYWIgPSAiTUNQMSBwbGFxdWUgW3BnL3VnXVxuKGludmVyc2UtcmFuayB0cmFuc2Zvcm1hdGlvbikiLAogICAgICAgICAgICAgICAgICAjIGNvbG9yID0gIkdlbmRlciIsCiAgICAgICAgICAgICAgICAgICMgcGFsZXR0ZSA9IGMoIiNENTI2N0IiLCAiIzEyOTBEOSIpLAogICAgICAgICAgICAgICAgICBjb2xvciA9ICIjMTI5MEQ5IiwKICAgICAgICAgICAgICAgICAgYWRkID0gImppdHRlciIpICMrCiAgIyBzdGF0X2NvbXBhcmVfbWVhbnMobWV0aG9kID0gIndpbGNveC50ZXN0IikKZ2dzYXZlKGZpbGUgPSBwYXN0ZTAoUExPVF9sb2MsICIvIixUb2RheSwiLkFFREIuQ0VBLk1DUDEucGxhcXVlLkRpYWJldGVzLnBkZiIpLCBwbG90ID0gbGFzdF9wbG90KCkpCgojIGNvbXBhcmVfbWVhbnMoTUNQMV9wZ191Z18yMDE1X3JhbmsgfiBBZ2VHcm91cCwgIGRhdGEgPSBBRURCLkNFQSwgbWV0aG9kID0gImtydXNrYWwudGVzdCIpCmdncHVicjo6Z2dib3hwbG90KEFFREIuQ0VBICU+JSBmaWx0ZXIoIWlzLm5hKERpYWJldGVzU3RhdHVzKSksIAogICAgICAgICAgICAgICAgICB4ID0gYygiRGlhYmV0ZXNTdGF0dXMiKSwKICAgICAgICAgICAgICAgICAgeSA9ICJNQ1AxX3BnX3VnXzIwMTVfcmFuayIsIAogICAgICAgICAgICAgICAgICB4bGFiID0gIkRpYWJldGVzIHN0YXR1cyBwZXIgZ2VuZGVyIiwKICAgICAgICAgICAgICAgICAgeWxhYiA9ICJNQ1AxIHBsYXF1ZSBbcGcvdWddXG4oaW52ZXJzZS1yYW5rIHRyYW5zZm9ybWF0aW9uKSIsCiAgICAgICAgICAgICAgICAgIGNvbG9yID0gIkdlbmRlciIsCiAgICAgICAgICAgICAgICAgIHBhbGV0dGUgPSBjKCIjRDUyNjdCIiwgIiMxMjkwRDkiKSwKICAgICAgICAgICAgICAgICAgYWRkID0gImppdHRlciIpICMrCiAgIyBzdGF0X2NvbXBhcmVfbWVhbnMobWV0aG9kID0gImtydXNrYWwudGVzdCIpCmdnc2F2ZShmaWxlID0gcGFzdGUwKFBMT1RfbG9jLCAiLyIsVG9kYXksIi5BRURCLkNFQS5NQ1AxLnBsYXF1ZS5EaWFiZXRlc19ieUdlbmRlci5wZGYiKSwgcGxvdCA9IGxhc3RfcGxvdCgpKQoKYGBgCgojIyMjIE1DUDEgcGxhc21hIGxldmVscwoKYGBge3IgTUNQMSBwZXIgRGlhYmV0ZXMgcGVyIFNleCwgcmFua2VkIHBsYXNtYX0KIyBHbG9iYWwgdGVzdAojIGNvbXBhcmVfbWVhbnMoTUNQMV9wZ191Z18yMDE1X3JhbmsgfiBHZW5kZXIsICBkYXRhID0gQUVEQi5DRUEsIG1ldGhvZCA9ICJ3aWxjb3gudGVzdCIpCmdncHVicjo6Z2dib3hwbG90KEFFREIuQ0VBICU+JSBmaWx0ZXIoIWlzLm5hKERpYWJldGVzU3RhdHVzKSksIAogICAgICAgICAgICAgICAgICB4ID0gYygiRGlhYmV0ZXNTdGF0dXMiKSwKICAgICAgICAgICAgICAgICAgeSA9ICJNQ1AxX3BsYXNtYV9vbGlua19yYW5rIiwgCiAgICAgICAgICAgICAgICAgIHhsYWIgPSAiRGlhYmV0ZXMgc3RhdHVzIiwKICAgICAgICAgICAgICAgICAgeWxhYiA9ICJNQ1AxIHBsYXNtYSBbQVVdXG4oaW52ZXJzZS1yYW5rIHRyYW5zZm9ybWF0aW9uKSIsCiAgICAgICAgICAgICAgICAgICMgY29sb3IgPSAiR2VuZGVyIiwKICAgICAgICAgICAgICAgICAgIyBwYWxldHRlID0gYygiI0Q1MjY3QiIsICIjMTI5MEQ5IiksCiAgICAgICAgICAgICAgICAgIGNvbG9yID0gIiMxMjkwRDkiLAogICAgICAgICAgICAgICAgICBhZGQgPSAiaml0dGVyIikgIysKICAjIHN0YXRfY29tcGFyZV9tZWFucyhtZXRob2QgPSAid2lsY294LnRlc3QiKQpnZ3NhdmUoZmlsZSA9IHBhc3RlMChQTE9UX2xvYywgIi8iLFRvZGF5LCIuQUVEQi5DRUEuTUNQMS5wbGFzbWEuRGlhYmV0ZXMucGRmIiksIHBsb3QgPSBsYXN0X3Bsb3QoKSkKCiMgY29tcGFyZV9tZWFucyhNQ1AxX3BnX3VnXzIwMTVfcmFuayB+IEFnZUdyb3VwLCAgZGF0YSA9IEFFREIuQ0VBLCBtZXRob2QgPSAia3J1c2thbC50ZXN0IikKZ2dwdWJyOjpnZ2JveHBsb3QoQUVEQi5DRUEgJT4lIGZpbHRlcighaXMubmEoRGlhYmV0ZXNTdGF0dXMpKSwgCiAgICAgICAgICAgICAgICAgIHggPSBjKCJEaWFiZXRlc1N0YXR1cyIpLAogICAgICAgICAgICAgICAgICB5ID0gIk1DUDFfcGxhc21hX29saW5rX3JhbmsiLCAKICAgICAgICAgICAgICAgICAgeGxhYiA9ICJEaWFiZXRlcyBzdGF0dXMgcGVyIGdlbmRlciIsCiAgICAgICAgICAgICAgICAgIHlsYWIgPSAiTUNQMSBwbGFzbWEgW0FVXVxuKGludmVyc2UtcmFuayB0cmFuc2Zvcm1hdGlvbikiLAogICAgICAgICAgICAgICAgICBjb2xvciA9ICJHZW5kZXIiLAogICAgICAgICAgICAgICAgICBwYWxldHRlID0gYygiI0Q1MjY3QiIsICIjMTI5MEQ5IiksCiAgICAgICAgICAgICAgICAgIGFkZCA9ICJqaXR0ZXIiKSAjKwogICMgc3RhdF9jb21wYXJlX21lYW5zKG1ldGhvZCA9ICJrcnVza2FsLnRlc3QiKQpnZ3NhdmUoZmlsZSA9IHBhc3RlMChQTE9UX2xvYywgIi8iLFRvZGF5LCIuQUVEQi5DRUEuTUNQMS5wbGFzbWEuRGlhYmV0ZXNfYnlHZW5kZXIucGRmIiksIHBsb3QgPSBsYXN0X3Bsb3QoKSkKCmBgYAoKIyMjIFJhdyBkYXRhCgpTaW1hbGFybHkgYnV0IG5vdyBmb3IgdGhlIHJhdyBkYXRhIGFzIG1lZGlhbiDCsSBpbnRlcnF1YXJ0aWxlIHJhbmdlLgoKIyMjIyBNQ1AxIHBsYXF1ZSBsZXZlbHMKCgpgYGB7ciBNQ1AxIHBlciBEaWFiZXRlcyBwZXIgU2V4fQoKIyBHbG9iYWwgdGVzdAojIGNvbXBhcmVfbWVhbnMoTUNQMV9wZ191Z18yMDE1IH4gR2VuZGVyLCAgZGF0YSA9IEFFREIuQ0VBLCBtZXRob2QgPSAid2lsY294LnRlc3QiKQpnZ3B1YnI6OmdnYm94cGxvdChBRURCLkNFQSAlPiUgZmlsdGVyKCFpcy5uYShEaWFiZXRlc1N0YXR1cykpLCAKICAgICAgICAgICAgICAgICAgeCA9IGMoIkRpYWJldGVzU3RhdHVzIiksCiAgICAgICAgICAgICAgICAgIHkgPSAiTUNQMV9wZ191Z18yMDE1IiwgCiAgICAgICAgICAgICAgICAgIHhsYWIgPSAiRGlhYmV0ZXMgc3RhdHVzIiwKICAgICAgICAgICAgICAgICAgeWxhYiA9ICJNQ1AxIHBsYXF1ZSBbcGcvdWddIiwKICAgICAgICAgICAgICAgICAgIyBjb2xvciA9ICJHZW5kZXIiLAogICAgICAgICAgICAgICAgICAjIHBhbGV0dGUgPSBjKCIjRDUyNjdCIiwgIiMxMjkwRDkiKSwKICAgICAgICAgICAgICAgICAgY29sb3IgPSAiIzEyOTBEOSIsCiAgICAgICAgICAgICAgICAgIGFkZCA9IGMoIm1lZGlhbl9pcXIiLCAiaml0dGVyIikpICMrCiAgIyBzdGF0X2NvbXBhcmVfbWVhbnMobWV0aG9kID0gIndpbGNveC50ZXN0IikKZ2dzYXZlKGZpbGUgPSBwYXN0ZTAoUExPVF9sb2MsICIvIixUb2RheSwiLkFFREIuQ0VBLk1DUDEucGxhcXVlLnJhdy5EaWFiZXRlcy5wZGYiKSwgcGxvdCA9IGxhc3RfcGxvdCgpKQoKIyBjb21wYXJlX21lYW5zKE1DUDFfcGdfdWdfMjAxNSB+IEFnZUdyb3VwLCAgZGF0YSA9IEFFREIuQ0VBLCBtZXRob2QgPSAia3J1c2thbC50ZXN0IikKZ2dwdWJyOjpnZ2JveHBsb3QoQUVEQi5DRUEgJT4lIGZpbHRlcighaXMubmEoRGlhYmV0ZXNTdGF0dXMpKSwgCiAgICAgICAgICAgICAgICAgIHggPSBjKCJEaWFiZXRlc1N0YXR1cyIpLAogICAgICAgICAgICAgICAgICB5ID0gIk1DUDFfcGdfdWdfMjAxNSIsIAogICAgICAgICAgICAgICAgICB4bGFiID0gIkRpYWJldGVzIHN0YXR1cyBwZXIgZ2VuZGVyIiwKICAgICAgICAgICAgICAgICAgeWxhYiA9ICJNQ1AxIHBsYXF1ZSBbcGcvdWddIiwKICAgICAgICAgICAgICAgICAgY29sb3IgPSAiR2VuZGVyIiwKICAgICAgICAgICAgICAgICAgcGFsZXR0ZSA9IGMoIiNENTI2N0IiLCAiIzEyOTBEOSIpLAogICAgICAgICAgICAgICAgICBhZGQgPSBjKCJtZWRpYW5faXFyIiwgImppdHRlciIpKSAjKwogICMgc3RhdF9jb21wYXJlX21lYW5zKG1ldGhvZCA9ICJrcnVza2FsLnRlc3QiKQpnZ3NhdmUoZmlsZSA9IHBhc3RlMChQTE9UX2xvYywgIi8iLFRvZGF5LCIuQUVEQi5DRUEuTUNQMS5wbGFxdWUucmF3LkRpYWJldGVzX2J5R2VuZGVyLnBkZiIpLCBwbG90ID0gbGFzdF9wbG90KCkpCgoKYGBgCgojIyMgTUNQMSBwbGFzbWEgbGV2ZWxzCgpgYGB7ciBNQ1AxIHBlciBEaWFiZXRlcyBwZXIgU2V4LCBwbGFzbWF9CgojIEdsb2JhbCB0ZXN0CiMgY29tcGFyZV9tZWFucyhNQ1AxX3BnX3VnXzIwMTUgfiBHZW5kZXIsICBkYXRhID0gQUVEQi5DRUEsIG1ldGhvZCA9ICJ3aWxjb3gudGVzdCIpCmdncHVicjo6Z2dib3hwbG90KEFFREIuQ0VBICU+JSBmaWx0ZXIoIWlzLm5hKERpYWJldGVzU3RhdHVzKSksIAogICAgICAgICAgICAgICAgICB4ID0gYygiRGlhYmV0ZXNTdGF0dXMiKSwKICAgICAgICAgICAgICAgICAgeSA9ICJNQ1AxX3BsYXNtYV9vbGluayIsIAogICAgICAgICAgICAgICAgICB4bGFiID0gIkRpYWJldGVzIHN0YXR1cyIsCiAgICAgICAgICAgICAgICAgIHlsYWIgPSAiTUNQMSBwbGFzbWEgW0FVXSIsCiAgICAgICAgICAgICAgICAgICMgY29sb3IgPSAiR2VuZGVyIiwKICAgICAgICAgICAgICAgICAgIyBwYWxldHRlID0gYygiI0Q1MjY3QiIsICIjMTI5MEQ5IiksCiAgICAgICAgICAgICAgICAgIGNvbG9yID0gIiMxMjkwRDkiLAogICAgICAgICAgICAgICAgICBhZGQgPSBjKCJtZWRpYW5faXFyIiwgImppdHRlciIpKSAjKwogICMgc3RhdF9jb21wYXJlX21lYW5zKG1ldGhvZCA9ICJ3aWxjb3gudGVzdCIpCmdnc2F2ZShmaWxlID0gcGFzdGUwKFBMT1RfbG9jLCAiLyIsVG9kYXksIi5BRURCLkNFQS5NQ1AxLnBsYXNtYS5yYXdEaWFiZXRlcy5wZGYiKSwgcGxvdCA9IGxhc3RfcGxvdCgpKQoKIyBjb21wYXJlX21lYW5zKE1DUDFfcGdfdWdfMjAxNSB+IEFnZUdyb3VwLCAgZGF0YSA9IEFFREIuQ0VBLCBtZXRob2QgPSAia3J1c2thbC50ZXN0IikKZ2dwdWJyOjpnZ2JveHBsb3QoQUVEQi5DRUEgJT4lIGZpbHRlcighaXMubmEoRGlhYmV0ZXNTdGF0dXMpKSwgCiAgICAgICAgICAgICAgICAgIHggPSBjKCJEaWFiZXRlc1N0YXR1cyIpLAogICAgICAgICAgICAgICAgICB5ID0gIk1DUDFfcGxhc21hX29saW5rIiwgCiAgICAgICAgICAgICAgICAgIHhsYWIgPSAiRGlhYmV0ZXMgc3RhdHVzIHBlciBnZW5kZXIiLAogICAgICAgICAgICAgICAgICB5bGFiID0gIk1DUDEgcGxhc21hIFtBVV0iLAogICAgICAgICAgICAgICAgICBjb2xvciA9ICJHZW5kZXIiLAogICAgICAgICAgICAgICAgICBwYWxldHRlID0gYygiI0Q1MjY3QiIsICIjMTI5MEQ5IiksCiAgICAgICAgICAgICAgICAgIGFkZCA9IGMoIm1lZGlhbl9pcXIiLCAiaml0dGVyIikpICMrCiAgIyBzdGF0X2NvbXBhcmVfbWVhbnMobWV0aG9kID0gImtydXNrYWwudGVzdCIpCmdnc2F2ZShmaWxlID0gcGFzdGUwKFBMT1RfbG9jLCAiLyIsVG9kYXksIi5BRURCLkNFQS5NQ1AxLnBsYXNtYS5yYXcuRGlhYmV0ZXNfYnlHZW5kZXIucGRmIiksIHBsb3QgPSBsYXN0X3Bsb3QoKSkKCmBgYAoKCiMjIFNtb2tpbmcKV2Ugd2FudCB0byBjcmVhdGUgZmlndXJlcyBvZiBNQ1AxIGxldmVscyBzdHJhdGlmaWVkIGJ5IHNtb2tpbmcuIAoKLSBCb3ggYW5kIFdoaXNrZXIgcGxvdCBmb3IgTUNQLTEgcGxhcXVlIGxldmVscyBieSBzbW9raW5nIGdyb3VwIChuZXZlciwgZXgsIGN1cnJlbnQpCgpOb3cgd2UgY2FuIGRyYXcgc29tZSBncmFwaHMgb2YgcGxhc21hL3BsYXF1ZSBNQ1AxIGxldmVscyBwZXIgc2V4IGFuZCBhZ2UgZ3JvdXAuCgojIyMgSW52ZXJzZS1yYW5rIHRyYW5zZm9ybWVkIGRhdGEKCiMjIyMgTUNQMSBwbGFxdWUgbGV2ZWxzCgpgYGB7ciBNQ1AxIHBlciBTbW9raW5nIHBlciBTZXgsIHJhbmtlZH0KCiMgR2xvYmFsIHRlc3QKIyBjb21wYXJlX21lYW5zKE1DUDFfcGdfdWdfMjAxNV9yYW5rIH4gR2VuZGVyLCAgZGF0YSA9IEFFREIuQ0VBLCBtZXRob2QgPSAid2lsY294LnRlc3QiKQpnZ3B1YnI6OmdnYm94cGxvdChBRURCLkNFQSAlPiUgZmlsdGVyKCFpcy5uYShTbW9rZXJTdGF0dXMpKSwgCiAgICAgICAgICAgICAgICAgIHggPSBjKCJTbW9rZXJTdGF0dXMiKSwKICAgICAgICAgICAgICAgICAgeSA9ICJNQ1AxX3BnX3VnXzIwMTVfcmFuayIsIAogICAgICAgICAgICAgICAgICB4bGFiID0gIlNtb2tlciBzdGF0dXMiLAogICAgICAgICAgICAgICAgICB5bGFiID0gIk1DUDEgcGxhcXVlIFtwZy91Z11cbihpbnZlcnNlLXJhbmsgdHJhbnNmb3JtYXRpb24pIiwKICAgICAgICAgICAgICAgICAgIyBjb2xvciA9ICJHZW5kZXIiLAogICAgICAgICAgICAgICAgICAjIHBhbGV0dGUgPSBjKCIjRDUyNjdCIiwgIiMxMjkwRDkiKSwKICAgICAgICAgICAgICAgICAgY29sb3IgPSAiIzEyOTBEOSIsIAogICAgICAgICAgICAgICAgICBhZGQgPSAiaml0dGVyIikgIysKICAjIHN0YXRfY29tcGFyZV9tZWFucyhtZXRob2QgPSAid2lsY294LnRlc3QiKQpnZ3NhdmUoZmlsZSA9IHBhc3RlMChQTE9UX2xvYywgIi8iLFRvZGF5LCIuQUVEQi5DRUEuTUNQMS5wbGFxdWUuU21va2luZy5wZGYiKSwgcGxvdCA9IGxhc3RfcGxvdCgpKQoKIyBjb21wYXJlX21lYW5zKE1DUDFfcGdfdWdfMjAxNV9yYW5rIH4gQWdlR3JvdXAsICBkYXRhID0gQUVEQi5DRUEsIG1ldGhvZCA9ICJrcnVza2FsLnRlc3QiKQpnZ3B1YnI6OmdnYm94cGxvdChBRURCLkNFQSAlPiUgZmlsdGVyKCFpcy5uYShTbW9rZXJTdGF0dXMpKSwgCiAgICAgICAgICAgICAgICAgIHggPSBjKCJTbW9rZXJTdGF0dXMiKSwKICAgICAgICAgICAgICAgICAgeSA9ICJNQ1AxX3BnX3VnXzIwMTVfcmFuayIsIAogICAgICAgICAgICAgICAgICB4bGFiID0gIlNtb2tlciBzdGF0dXMgcGVyIGdlbmRlciIsCiAgICAgICAgICAgICAgICAgIHlsYWIgPSAiTUNQMSBwbGFxdWUgW3BnL3VnXVxuKGludmVyc2UtcmFuayB0cmFuc2Zvcm1hdGlvbikiLAogICAgICAgICAgICAgICAgICBjb2xvciA9ICJHZW5kZXIiLAogICAgICAgICAgICAgICAgICBwYWxldHRlID0gYygiI0Q1MjY3QiIsICIjMTI5MEQ5IiksCiAgICAgICAgICAgICAgICAgIGFkZCA9ICJqaXR0ZXIiKSAjKwogICMgc3RhdF9jb21wYXJlX21lYW5zKG1ldGhvZCA9ICJrcnVza2FsLnRlc3QiKQpnZ3NhdmUoZmlsZSA9IHBhc3RlMChQTE9UX2xvYywgIi8iLFRvZGF5LCIuQUVEQi5DRUEuTUNQMS5wbGFxdWUuU21va2luZ19ieUdlbmRlci5wZGYiKSwgcGxvdCA9IGxhc3RfcGxvdCgpKQoKYGBgCgojIyMjIE1DUDEgcGxhc21hIGxldmVscwoKYGBge3IgTUNQMSBwZXIgU21va2luZyBwZXIgU2V4LCByYW5rZWQgcGxhc21hfQojIEdsb2JhbCB0ZXN0CiMgY29tcGFyZV9tZWFucyhNQ1AxX3BnX3VnXzIwMTVfcmFuayB+IEdlbmRlciwgIGRhdGEgPSBBRURCLkNFQSwgbWV0aG9kID0gIndpbGNveC50ZXN0IikKZ2dwdWJyOjpnZ2JveHBsb3QoQUVEQi5DRUEgJT4lIGZpbHRlcighaXMubmEoU21va2VyU3RhdHVzKSksIAogICAgICAgICAgICAgICAgICB4ID0gYygiU21va2VyU3RhdHVzIiksCiAgICAgICAgICAgICAgICAgIHkgPSAiTUNQMV9wbGFzbWFfb2xpbmtfcmFuayIsIAogICAgICAgICAgICAgICAgICB4bGFiID0gIlNtb2tlciBzdGF0dXMiLAogICAgICAgICAgICAgICAgICB5bGFiID0gIk1DUDEgcGxhc21hIFtBVV1cbihpbnZlcnNlLXJhbmsgdHJhbnNmb3JtYXRpb24pIiwKICAgICAgICAgICAgICAgICAgIyBjb2xvciA9ICJHZW5kZXIiLAogICAgICAgICAgICAgICAgICAjIHBhbGV0dGUgPSBjKCIjRDUyNjdCIiwgIiMxMjkwRDkiKSwKICAgICAgICAgICAgICAgICAgY29sb3IgPSAiIzEyOTBEOSIsIAogICAgICAgICAgICAgICAgICBhZGQgPSAiaml0dGVyIikgIysKICAjIHN0YXRfY29tcGFyZV9tZWFucyhtZXRob2QgPSAid2lsY294LnRlc3QiKQpnZ3NhdmUoZmlsZSA9IHBhc3RlMChQTE9UX2xvYywgIi8iLFRvZGF5LCIuQUVEQi5DRUEuTUNQMS5wbGFzbWEuU21va2luZy5wZGYiKSwgcGxvdCA9IGxhc3RfcGxvdCgpKQoKIyBjb21wYXJlX21lYW5zKE1DUDFfcGdfdWdfMjAxNV9yYW5rIH4gQWdlR3JvdXAsICBkYXRhID0gQUVEQi5DRUEsIG1ldGhvZCA9ICJrcnVza2FsLnRlc3QiKQpnZ3B1YnI6OmdnYm94cGxvdChBRURCLkNFQSAlPiUgZmlsdGVyKCFpcy5uYShTbW9rZXJTdGF0dXMpKSwgCiAgICAgICAgICAgICAgICAgIHggPSBjKCJTbW9rZXJTdGF0dXMiKSwKICAgICAgICAgICAgICAgICAgeSA9ICJNQ1AxX3BsYXNtYV9vbGlua19yYW5rIiwgCiAgICAgICAgICAgICAgICAgIHhsYWIgPSAiU21va2VyIHN0YXR1cyBwZXIgZ2VuZGVyIiwKICAgICAgICAgICAgICAgICAgeWxhYiA9ICJNQ1AxIHBsYXNtYSBbQVVdXG4oaW52ZXJzZS1yYW5rIHRyYW5zZm9ybWF0aW9uKSIsCiAgICAgICAgICAgICAgICAgIGNvbG9yID0gIkdlbmRlciIsCiAgICAgICAgICAgICAgICAgIHBhbGV0dGUgPSBjKCIjRDUyNjdCIiwgIiMxMjkwRDkiKSwKICAgICAgICAgICAgICAgICAgYWRkID0gImppdHRlciIpICMrCiAgIyBzdGF0X2NvbXBhcmVfbWVhbnMobWV0aG9kID0gImtydXNrYWwudGVzdCIpCmdnc2F2ZShmaWxlID0gcGFzdGUwKFBMT1RfbG9jLCAiLyIsVG9kYXksIi5BRURCLkNFQS5NQ1AxLnBsYXNtYS5TbW9raW5nX2J5R2VuZGVyLnBkZiIpLCBwbG90ID0gbGFzdF9wbG90KCkpCgpgYGAKCiMjIyBSYXcgZGF0YQoKU2ltYWxhcmx5IGJ1dCBub3cgZm9yIHRoZSByYXcgZGF0YSBhcyBtZWRpYW4gwrEgaW50ZXJxdWFydGlsZSByYW5nZS4KCiMjIyMgTUNQMSBwbGFxdWUgbGV2ZWxzCgoKYGBge3IgTUNQMSBwZXIgU21va2luZyBwZXIgU2V4fQoKIyBHbG9iYWwgdGVzdAojIGNvbXBhcmVfbWVhbnMoTUNQMV9wZ191Z18yMDE1IH4gR2VuZGVyLCAgZGF0YSA9IEFFREIuQ0VBLCBtZXRob2QgPSAid2lsY294LnRlc3QiKQpnZ3B1YnI6OmdnYm94cGxvdChBRURCLkNFQSAlPiUgZmlsdGVyKCFpcy5uYShTbW9rZXJTdGF0dXMpKSwgCiAgICAgICAgICAgICAgICAgIHggPSBjKCJTbW9rZXJTdGF0dXMiKSwKICAgICAgICAgICAgICAgICAgeSA9ICJNQ1AxX3BnX3VnXzIwMTUiLCAKICAgICAgICAgICAgICAgICAgeGxhYiA9ICJTbW9rZXIgc3RhdHVzIiwKICAgICAgICAgICAgICAgICAgeWxhYiA9ICJNQ1AxIHBsYXF1ZSBbcGcvdWddIiwKICAgICAgICAgICAgICAgICAgIyBjb2xvciA9ICJHZW5kZXIiLAogICAgICAgICAgICAgICAgICAjIHBhbGV0dGUgPSBjKCIjRDUyNjdCIiwgIiMxMjkwRDkiKSwKICAgICAgICAgICAgICAgICAgY29sb3IgPSAiIzEyOTBEOSIsIAogICAgICAgICAgICAgICAgICBhZGQgPSBjKCJtZWRpYW5faXFyIiwgImppdHRlciIpKSAjKwogICMgc3RhdF9jb21wYXJlX21lYW5zKG1ldGhvZCA9ICJ3aWxjb3gudGVzdCIpCmdnc2F2ZShmaWxlID0gcGFzdGUwKFBMT1RfbG9jLCAiLyIsVG9kYXksIi5BRURCLkNFQS5NQ1AxLnBsYXF1ZS5yYXcuU21va2luZy5wZGYiKSwgcGxvdCA9IGxhc3RfcGxvdCgpKQoKIyBjb21wYXJlX21lYW5zKE1DUDFfcGdfdWdfMjAxNSB+IEFnZUdyb3VwLCAgZGF0YSA9IEFFREIuQ0VBLCBtZXRob2QgPSAia3J1c2thbC50ZXN0IikKZ2dwdWJyOjpnZ2JveHBsb3QoQUVEQi5DRUEgJT4lIGZpbHRlcighaXMubmEoU21va2VyU3RhdHVzKSksIAogICAgICAgICAgICAgICAgICB4ID0gYygiU21va2VyU3RhdHVzIiksCiAgICAgICAgICAgICAgICAgIHkgPSAiTUNQMV9wZ191Z18yMDE1IiwgCiAgICAgICAgICAgICAgICAgIHhsYWIgPSAiU21va2VyIHN0YXR1cyBwZXIgZ2VuZGVyIiwKICAgICAgICAgICAgICAgICAgeWxhYiA9ICJNQ1AxIHBsYXF1ZSBbcGcvdWddIiwKICAgICAgICAgICAgICAgICAgY29sb3IgPSAiR2VuZGVyIiwKICAgICAgICAgICAgICAgICAgcGFsZXR0ZSA9IGMoIiNENTI2N0IiLCAiIzEyOTBEOSIpLAogICAgICAgICAgICAgICAgICBhZGQgPSBjKCJtZWRpYW5faXFyIiwgImppdHRlciIpKSAjKwogICMgc3RhdF9jb21wYXJlX21lYW5zKG1ldGhvZCA9ICJrcnVza2FsLnRlc3QiKQpnZ3NhdmUoZmlsZSA9IHBhc3RlMChQTE9UX2xvYywgIi8iLFRvZGF5LCIuQUVEQi5DRUEuTUNQMS5wbGFxdWUucmF3LlNtb2tpbmdfYnlHZW5kZXIucGRmIiksIHBsb3QgPSBsYXN0X3Bsb3QoKSkKCmBgYAoKIyMjIE1DUDEgcGxhc21hIGxldmVscwoKYGBge3IgTUNQMSBwZXIgU21va2luZyBwZXIgU2V4LCBwbGFzbWF9CiMgR2xvYmFsIHRlc3QKIyBjb21wYXJlX21lYW5zKE1DUDFfcGdfdWdfMjAxNSB+IEdlbmRlciwgIGRhdGEgPSBBRURCLkNFQSwgbWV0aG9kID0gIndpbGNveC50ZXN0IikKZ2dwdWJyOjpnZ2JveHBsb3QoQUVEQi5DRUEgJT4lIGZpbHRlcighaXMubmEoU21va2VyU3RhdHVzKSksIAogICAgICAgICAgICAgICAgICB4ID0gYygiU21va2VyU3RhdHVzIiksCiAgICAgICAgICAgICAgICAgIHkgPSAiTUNQMV9wbGFzbWFfb2xpbmsiLCAKICAgICAgICAgICAgICAgICAgeGxhYiA9ICJTbW9rZXIgc3RhdHVzIiwKICAgICAgICAgICAgICAgICAgeWxhYiA9ICJNQ1AxIHBsYXNtYSBbQVVdIiwKICAgICAgICAgICAgICAgICAgIyBjb2xvciA9ICJHZW5kZXIiLAogICAgICAgICAgICAgICAgICAjIHBhbGV0dGUgPSBjKCIjRDUyNjdCIiwgIiMxMjkwRDkiKSwKICAgICAgICAgICAgICAgICAgY29sb3IgPSAiIzEyOTBEOSIsIAogICAgICAgICAgICAgICAgICBhZGQgPSBjKCJtZWRpYW5faXFyIiwgImppdHRlciIpKSAjKwogICMgc3RhdF9jb21wYXJlX21lYW5zKG1ldGhvZCA9ICJ3aWxjb3gudGVzdCIpCmdnc2F2ZShmaWxlID0gcGFzdGUwKFBMT1RfbG9jLCAiLyIsVG9kYXksIi5BRURCLkNFQS5NQ1AxLnBsYXNtYS5yYXcuU21va2luZy5wZGYiKSwgcGxvdCA9IGxhc3RfcGxvdCgpKQoKIyBjb21wYXJlX21lYW5zKE1DUDFfcGdfdWdfMjAxNSB+IEFnZUdyb3VwLCAgZGF0YSA9IEFFREIuQ0VBLCBtZXRob2QgPSAia3J1c2thbC50ZXN0IikKZ2dwdWJyOjpnZ2JveHBsb3QoQUVEQi5DRUEgJT4lIGZpbHRlcighaXMubmEoU21va2VyU3RhdHVzKSksIAogICAgICAgICAgICAgICAgICB4ID0gYygiU21va2VyU3RhdHVzIiksCiAgICAgICAgICAgICAgICAgIHkgPSAiTUNQMV9wbGFzbWFfb2xpbmsiLCAKICAgICAgICAgICAgICAgICAgeGxhYiA9ICJTbW9rZXIgc3RhdHVzIHBlciBnZW5kZXIiLAogICAgICAgICAgICAgICAgICB5bGFiID0gIk1DUDEgcGxhc21hIFtBVV0iLAogICAgICAgICAgICAgICAgICBjb2xvciA9ICJHZW5kZXIiLAogICAgICAgICAgICAgICAgICBwYWxldHRlID0gYygiI0Q1MjY3QiIsICIjMTI5MEQ5IiksCiAgICAgICAgICAgICAgICAgIGFkZCA9IGMoIm1lZGlhbl9pcXIiLCAiaml0dGVyIikpICMrCiAgIyBzdGF0X2NvbXBhcmVfbWVhbnMobWV0aG9kID0gImtydXNrYWwudGVzdCIpCmdnc2F2ZShmaWxlID0gcGFzdGUwKFBMT1RfbG9jLCAiLyIsVG9kYXksIi5BRURCLkNFQS5NQ1AxLnBsYXNtYS5yYXcuU21va2luZ19ieUdlbmRlci5wZGYiKSwgcGxvdCA9IGxhc3RfcGxvdCgpKQoKYGBgCgoKIyMgU3Rlbm9zaXMKV2Ugd2FudCB0byBjcmVhdGUgZmlndXJlcyBvZiBNQ1AxIGxldmVscyBzdHJhdGlmaWVkIGJ5IHN0ZW5vc2lzIGdyYWRlLiAKCi0gQm94IGFuZCBXaGlza2VyIHBsb3QgZm9yIE1DUC0xIHBsYXF1ZSBsZXZlbHMgYnkgc3Rlbm9zaXMgZ3JhZGUgZ3JvdXAgKDw3MCwgNzAtODksIDkwKykKCmBgYHtyIFN0ZW5vc2lzfQpsaWJyYXJ5KGRwbHlyKQoKQUVEQi5DRUEgPC0gQUVEQi5DRUEgJT4lIG11dGF0ZShTdGVub3RpY0dyb3VwID0gZmFjdG9yKGNhc2Vfd2hlbihzdGVub3NlID09ICIwLTQ5JSIgfiAiPDcwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGVub3NlID09ICIwLTQ5JSIgfiAiPDcwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGVub3NlID09ICI1MC03MCUiIH4gIjw3MCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Rlbm9zZSA9PSAiNzAtOTAlIiB+ICI3MC04OSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Rlbm9zZSA9PSAiNTAtOTklIiB+ICI5MCsiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0ZW5vc2UgPT0gIjcwLTk5JSIgfiAiOTArIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGVub3NlID09ICIxMDAlIChPY2NsdXNpb24pIiB+ICI5MCsiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0ZW5vc2UgPT0gIjkwLTk5JSIgfiAiOTArIikpKQoKdGFibGUoQUVEQi5DRUEkU3Rlbm90aWNHcm91cCwgQUVEQi5DRUEkR2VuZGVyKQp0YWJsZShBRURCLkNFQSRzdGVub3NlLCBBRURCLkNFQSRTdGVub3RpY0dyb3VwKQoKYGBgCgpOb3cgd2UgY2FuIGRyYXcgc29tZSBncmFwaHMgb2YgcGxhc21hL3BsYXF1ZSBNQ1AxIGxldmVscyBwZXIgc2V4IGFuZCBhZ2UgZ3JvdXAuCgojIyMgSW52ZXJzZS1yYW5rIHRyYW5zZm9ybWVkIGRhdGEKCiMjIyMgTUNQMSBwbGFxdWUgbGV2ZWxzCgpgYGB7ciBNQ1AxIHBlciBTdGVub3NpcyBwZXIgU2V4LCByYW5rZWR9CgojIEdsb2JhbCB0ZXN0CiMgY29tcGFyZV9tZWFucyhNQ1AxX3BnX3VnXzIwMTVfcmFuayB+IEdlbmRlciwgIGRhdGEgPSBBRURCLkNFQSwgbWV0aG9kID0gIndpbGNveC50ZXN0IikKZ2dwdWJyOjpnZ2JveHBsb3QoQUVEQi5DRUEgJT4lIGZpbHRlcighaXMubmEoU3Rlbm90aWNHcm91cCkpLCAKICAgICAgICAgICAgICAgICAgeCA9IGMoIlN0ZW5vdGljR3JvdXAiKSwKICAgICAgICAgICAgICAgICAgeSA9ICJNQ1AxX3BnX3VnXzIwMTVfcmFuayIsIAogICAgICAgICAgICAgICAgICB4bGFiID0gIlN0ZW5vdGljIGdyYWRlIiwKICAgICAgICAgICAgICAgICAgeWxhYiA9ICJNQ1AxIHBsYXF1ZSBbcGcvdWddXG4oaW52ZXJzZS1yYW5rIHRyYW5zZm9ybWF0aW9uKSIsCiAgICAgICAgICAgICAgICAgICMgY29sb3IgPSAiR2VuZGVyIiwKICAgICAgICAgICAgICAgICAgIyBwYWxldHRlID0gYygiI0Q1MjY3QiIsICIjMTI5MEQ5IiksCiAgICAgICAgICAgICAgICAgIGNvbG9yID0gIiMxMjkwRDkiLAogICAgICAgICAgICAgICAgICBhZGQgPSAiaml0dGVyIikgIysKICAjIHN0YXRfY29tcGFyZV9tZWFucyhtZXRob2QgPSAid2lsY294LnRlc3QiKQpnZ3NhdmUoZmlsZSA9IHBhc3RlMChQTE9UX2xvYywgIi8iLFRvZGF5LCIuQUVEQi5DRUEuTUNQMS5wbGFxdWUuU3Rlbm9zaXMucGRmIiksIHBsb3QgPSBsYXN0X3Bsb3QoKSkKCiMgY29tcGFyZV9tZWFucyhNQ1AxX3BnX3VnXzIwMTVfcmFuayB+IEFnZUdyb3VwLCAgZGF0YSA9IEFFREIuQ0VBLCBtZXRob2QgPSAia3J1c2thbC50ZXN0IikKZ2dwdWJyOjpnZ2JveHBsb3QoQUVEQi5DRUEgJT4lIGZpbHRlcighaXMubmEoU3Rlbm90aWNHcm91cCkpLCAKICAgICAgICAgICAgICAgICAgeCA9IGMoIlN0ZW5vdGljR3JvdXAiKSwKICAgICAgICAgICAgICAgICAgeSA9ICJNQ1AxX3BnX3VnXzIwMTVfcmFuayIsIAogICAgICAgICAgICAgICAgICB4bGFiID0gIlN0ZW5vdGljIGdyYWRlIHBlciBnZW5kZXIiLAogICAgICAgICAgICAgICAgICB5bGFiID0gIk1DUDEgcGxhcXVlIFtwZy91Z11cbihpbnZlcnNlLXJhbmsgdHJhbnNmb3JtYXRpb24pIiwKICAgICAgICAgICAgICAgICAgY29sb3IgPSAiR2VuZGVyIiwKICAgICAgICAgICAgICAgICAgcGFsZXR0ZSA9IGMoIiNENTI2N0IiLCAiIzEyOTBEOSIpLAogICAgICAgICAgICAgICAgICBhZGQgPSAiaml0dGVyIikgIysKICAjIHN0YXRfY29tcGFyZV9tZWFucyhtZXRob2QgPSAia3J1c2thbC50ZXN0IikKZ2dzYXZlKGZpbGUgPSBwYXN0ZTAoUExPVF9sb2MsICIvIixUb2RheSwiLkFFREIuQ0VBLk1DUDEucGxhcXVlLlN0ZW5vc2lzX2J5R2VuZGVyLnBkZiIpLCBwbG90ID0gbGFzdF9wbG90KCkpCgpgYGAKCiMjIyMgTUNQMSBwbGFzbWEgbGV2ZWxzCgpgYGB7ciBNQ1AxIHBlciBTdGVub3NpcyBwZXIgU2V4LCByYW5rZWQgcGxhc21hfQoKIyBHbG9iYWwgdGVzdAojIGNvbXBhcmVfbWVhbnMoTUNQMV9wZ191Z18yMDE1X3JhbmsgfiBHZW5kZXIsICBkYXRhID0gQUVEQi5DRUEsIG1ldGhvZCA9ICJ3aWxjb3gudGVzdCIpCmdncHVicjo6Z2dib3hwbG90KEFFREIuQ0VBICU+JSBmaWx0ZXIoIWlzLm5hKFN0ZW5vdGljR3JvdXApKSwgCiAgICAgICAgICAgICAgICAgIHggPSBjKCJTdGVub3RpY0dyb3VwIiksCiAgICAgICAgICAgICAgICAgIHkgPSAiTUNQMV9wbGFzbWFfb2xpbmtfcmFuayIsIAogICAgICAgICAgICAgICAgICB4bGFiID0gIlN0ZW5vdGljIGdyYWRlIiwKICAgICAgICAgICAgICAgICAgeWxhYiA9ICJNQ1AxIHBsYXNtYSBbQVVdXG4oaW52ZXJzZS1yYW5rIHRyYW5zZm9ybWF0aW9uKSIsCiAgICAgICAgICAgICAgICAgICMgY29sb3IgPSAiR2VuZGVyIiwKICAgICAgICAgICAgICAgICAgIyBwYWxldHRlID0gYygiI0Q1MjY3QiIsICIjMTI5MEQ5IiksCiAgICAgICAgICAgICAgICAgIGNvbG9yID0gIiMxMjkwRDkiLAogICAgICAgICAgICAgICAgICBhZGQgPSAiaml0dGVyIikgIysKICAjIHN0YXRfY29tcGFyZV9tZWFucyhtZXRob2QgPSAid2lsY294LnRlc3QiKQpnZ3NhdmUoZmlsZSA9IHBhc3RlMChQTE9UX2xvYywgIi8iLFRvZGF5LCIuQUVEQi5DRUEuTUNQMS5wbGFzbWEuU3Rlbm9zaXMucGRmIiksIHBsb3QgPSBsYXN0X3Bsb3QoKSkKCiMgY29tcGFyZV9tZWFucyhNQ1AxX3BnX3VnXzIwMTVfcmFuayB+IEFnZUdyb3VwLCAgZGF0YSA9IEFFREIuQ0VBLCBtZXRob2QgPSAia3J1c2thbC50ZXN0IikKZ2dwdWJyOjpnZ2JveHBsb3QoQUVEQi5DRUEgJT4lIGZpbHRlcighaXMubmEoU3Rlbm90aWNHcm91cCkpLCAKICAgICAgICAgICAgICAgICAgeCA9IGMoIlN0ZW5vdGljR3JvdXAiKSwKICAgICAgICAgICAgICAgICAgeSA9ICJNQ1AxX3BsYXNtYV9vbGlua19yYW5rIiwgCiAgICAgICAgICAgICAgICAgIHhsYWIgPSAiU3Rlbm90aWMgZ3JhZGUgcGVyIGdlbmRlciIsCiAgICAgICAgICAgICAgICAgIHlsYWIgPSAiTUNQMSBwbGFzbWEgW0FVXVxuKGludmVyc2UtcmFuayB0cmFuc2Zvcm1hdGlvbikiLAogICAgICAgICAgICAgICAgICBjb2xvciA9ICJHZW5kZXIiLAogICAgICAgICAgICAgICAgICBwYWxldHRlID0gYygiI0Q1MjY3QiIsICIjMTI5MEQ5IiksCiAgICAgICAgICAgICAgICAgIGFkZCA9ICJqaXR0ZXIiKSAjKwogICMgc3RhdF9jb21wYXJlX21lYW5zKG1ldGhvZCA9ICJrcnVza2FsLnRlc3QiKQpnZ3NhdmUoZmlsZSA9IHBhc3RlMChQTE9UX2xvYywgIi8iLFRvZGF5LCIuQUVEQi5DRUEuTUNQMS5wbGFzbWEuU3Rlbm9zaXNfYnlHZW5kZXIucGRmIiksIHBsb3QgPSBsYXN0X3Bsb3QoKSkKCmBgYAoKIyMjIFJhdyBkYXRhCgpTaW1hbGFybHkgYnV0IG5vdyBmb3IgdGhlIHJhdyBkYXRhIGFzIG1lZGlhbiDCsSBpbnRlcnF1YXJ0aWxlIHJhbmdlLgoKIyMjIyBNQ1AxIHBsYXF1ZSBsZXZlbHMKCgpgYGB7ciBNQ1AxIHBlciBTdGVub3NpcyBwZXIgU2V4fQoKIyBHbG9iYWwgdGVzdAojIGNvbXBhcmVfbWVhbnMoTUNQMV9wZ191Z18yMDE1X3JhbmsgfiBHZW5kZXIsICBkYXRhID0gQUVEQi5DRUEsIG1ldGhvZCA9ICJ3aWxjb3gudGVzdCIpCmdncHVicjo6Z2dib3hwbG90KEFFREIuQ0VBICU+JSBmaWx0ZXIoIWlzLm5hKFN0ZW5vdGljR3JvdXApKSwgCiAgICAgICAgICAgICAgICAgIHggPSBjKCJTdGVub3RpY0dyb3VwIiksCiAgICAgICAgICAgICAgICAgIHkgPSAiTUNQMV9wZ191Z18yMDE1IiwgCiAgICAgICAgICAgICAgICAgIHhsYWIgPSAiU3Rlbm90aWMgZ3JhZGUiLAogICAgICAgICAgICAgICAgICB5bGFiID0gIk1DUDEgcGxhcXVlIFtwZy91Z10iLAogICAgICAgICAgICAgICAgICAjIGNvbG9yID0gIkdlbmRlciIsCiAgICAgICAgICAgICAgICAgICMgcGFsZXR0ZSA9IGMoIiNENTI2N0IiLCAiIzEyOTBEOSIpLAogICAgICAgICAgICAgICAgICBjb2xvciA9ICIjMTI5MEQ5IiwKICAgICAgICAgICAgICAgICAgYWRkID0gImppdHRlciIpICMrCiAgIyBzdGF0X2NvbXBhcmVfbWVhbnMobWV0aG9kID0gIndpbGNveC50ZXN0IikKZ2dzYXZlKGZpbGUgPSBwYXN0ZTAoUExPVF9sb2MsICIvIixUb2RheSwiLkFFREIuQ0VBLk1DUDEucGxhcXVlLnJhdy5TdGVub3Npcy5wZGYiKSwgcGxvdCA9IGxhc3RfcGxvdCgpKQoKIyBjb21wYXJlX21lYW5zKE1DUDFfcGdfdWdfMjAxNV9yYW5rIH4gQWdlR3JvdXAsICBkYXRhID0gQUVEQi5DRUEsIG1ldGhvZCA9ICJrcnVza2FsLnRlc3QiKQpnZ3B1YnI6OmdnYm94cGxvdChBRURCLkNFQSAlPiUgZmlsdGVyKCFpcy5uYShTdGVub3RpY0dyb3VwKSksIAogICAgICAgICAgICAgICAgICB4ID0gYygiU3Rlbm90aWNHcm91cCIpLAogICAgICAgICAgICAgICAgICB5ID0gIk1DUDFfcGdfdWdfMjAxNSIsIAogICAgICAgICAgICAgICAgICB4bGFiID0gIlN0ZW5vdGljIGdyYWRlIHBlciBnZW5kZXIiLAogICAgICAgICAgICAgICAgICB5bGFiID0gIk1DUDEgcGxhcXVlIFtwZy91Z10iLAogICAgICAgICAgICAgICAgICBjb2xvciA9ICJHZW5kZXIiLAogICAgICAgICAgICAgICAgICBwYWxldHRlID0gYygiI0Q1MjY3QiIsICIjMTI5MEQ5IiksCiAgICAgICAgICAgICAgICAgIGFkZCA9ICJqaXR0ZXIiKSAjKwogICMgc3RhdF9jb21wYXJlX21lYW5zKG1ldGhvZCA9ICJrcnVza2FsLnRlc3QiKQpnZ3NhdmUoZmlsZSA9IHBhc3RlMChQTE9UX2xvYywgIi8iLFRvZGF5LCIuQUVEQi5DRUEuTUNQMS5wbGFxdWUucmF3LlN0ZW5vc2lzX2J5R2VuZGVyLnBkZiIpLCBwbG90ID0gbGFzdF9wbG90KCkpCgpgYGAKCiMjIyBNQ1AxIHBsYXNtYSBsZXZlbHMKCmBgYHtyIE1DUDEgcGVyIFN0ZW5vc2lzIHBlciBTZXgsIHBsYXNtYX0KIyBHbG9iYWwgdGVzdAojIGNvbXBhcmVfbWVhbnMoTUNQMV9wZ191Z18yMDE1X3JhbmsgfiBHZW5kZXIsICBkYXRhID0gQUVEQi5DRUEsIG1ldGhvZCA9ICJ3aWxjb3gudGVzdCIpCmdncHVicjo6Z2dib3hwbG90KEFFREIuQ0VBICU+JSBmaWx0ZXIoIWlzLm5hKFN0ZW5vdGljR3JvdXApKSwgCiAgICAgICAgICAgICAgICAgIHggPSBjKCJTdGVub3RpY0dyb3VwIiksCiAgICAgICAgICAgICAgICAgIHkgPSAiTUNQMV9wbGFzbWFfb2xpbmsiLCAKICAgICAgICAgICAgICAgICAgeGxhYiA9ICJTdGVub3RpYyBncmFkZSIsCiAgICAgICAgICAgICAgICAgIHlsYWIgPSAiTUNQMSBwbGFzbWEgW0FVXSIsCiAgICAgICAgICAgICAgICAgICMgY29sb3IgPSAiR2VuZGVyIiwKICAgICAgICAgICAgICAgICAgIyBwYWxldHRlID0gYygiI0Q1MjY3QiIsICIjMTI5MEQ5IiksCiAgICAgICAgICAgICAgICAgIGNvbG9yID0gIiMxMjkwRDkiLAogICAgICAgICAgICAgICAgICBhZGQgPSAiaml0dGVyIikgIysKICAjIHN0YXRfY29tcGFyZV9tZWFucyhtZXRob2QgPSAid2lsY294LnRlc3QiKQpnZ3NhdmUoZmlsZSA9IHBhc3RlMChQTE9UX2xvYywgIi8iLFRvZGF5LCIuQUVEQi5DRUEuTUNQMS5wbGFzbWEucmF3LlN0ZW5vc2lzLnBkZiIpLCBwbG90ID0gbGFzdF9wbG90KCkpCgojIGNvbXBhcmVfbWVhbnMoTUNQMV9wZ191Z18yMDE1X3JhbmsgfiBBZ2VHcm91cCwgIGRhdGEgPSBBRURCLkNFQSwgbWV0aG9kID0gImtydXNrYWwudGVzdCIpCmdncHVicjo6Z2dib3hwbG90KEFFREIuQ0VBICU+JSBmaWx0ZXIoIWlzLm5hKFN0ZW5vdGljR3JvdXApKSwgCiAgICAgICAgICAgICAgICAgIHggPSBjKCJTdGVub3RpY0dyb3VwIiksCiAgICAgICAgICAgICAgICAgIHkgPSAiTUNQMV9wbGFzbWFfb2xpbmsiLCAKICAgICAgICAgICAgICAgICAgeGxhYiA9ICJTdGVub3RpYyBncmFkZSBwZXIgZ2VuZGVyIiwKICAgICAgICAgICAgICAgICAgeWxhYiA9ICJNQ1AxIHBsYXNtYSBbQVVdIiwKICAgICAgICAgICAgICAgICAgY29sb3IgPSAiR2VuZGVyIiwKICAgICAgICAgICAgICAgICAgcGFsZXR0ZSA9IGMoIiNENTI2N0IiLCAiIzEyOTBEOSIpLAogICAgICAgICAgICAgICAgICBhZGQgPSAiaml0dGVyIikgIysKICAjIHN0YXRfY29tcGFyZV9tZWFucyhtZXRob2QgPSAia3J1c2thbC50ZXN0IikKZ2dzYXZlKGZpbGUgPSBwYXN0ZTAoUExPVF9sb2MsICIvIixUb2RheSwiLkFFREIuQ0VBLk1DUDEucGxhc21hLnJhdy5TdGVub3Npc19ieUdlbmRlci5wZGYiKSwgcGxvdCA9IGxhc3RfcGxvdCgpKQoKYGBgCgoKCiMjIENpcmN1bGF0aW5nIHZzLiBwbGFxdWUgTUNQMSBsZXZlbHMKCldlIHdpbGwgYWxzbyBtYWtlIGEgbmljZSBjb3JyZWxhdGlvbiBwbG90IGJldHdlZW4gcGxhc21hIGFuZCBwbGFxdWUgTUNQMSBsZXZlbHMuCgpgYGB7ciBNQ1AxIGNvcnJlbGF0aW9ucywgcGxhc21hIHZzLiBwbGFxdWV9CgpnZ3B1YnI6Omdnc2NhdHRlcihBRURCLkNFQSwgCiAgICAgICAgICAgICAgICAgIHggPSAiTUNQMV9wZ191Z18yMDE1IiwKICAgICAgICAgICAgICAgICAgeSA9ICJNQ1AxX3BsYXNtYV9vbGluayIsIAogICAgICAgICAgICAgICAgICB4bGFiID0gIk1DUDEgcGxhcXVlIFtwZy91Z10iLAogICAgICAgICAgICAgICAgICB5bGFiID0gIk1DUDEgcGxhc21hIFtBVV0iLAogICAgICAgICAgICAgICAgICBhZGQgPSAicmVnLmxpbmUiLCBhZGQucGFyYW1zID0gbGlzdChjb2xvciA9ICIjMTI5MEQ5IiksCiAgICAgICAgICAgICAgICAgIGNvbmYuaW50ID0gVFJVRSwKICAgICAgICAgICAgICAgICAgY29yLmNvZWYgPSBUUlVFLCBjb3IuY29lZmYuYXJncyA9IGxpc3QobWV0aG9kID0gInNwZWFybWFuIiksIGNvci5jb2VmLmNvb3JkID0gYyg4LDc1MCkpCmdnc2F2ZShmaWxlID0gcGFzdGUwKFBMT1RfbG9jLCAiLyIsVG9kYXksIi5BRURCLkNFQS5NQ1AxLnBsYXF1ZV92c19wbGFzbWEucmF3LnBkZiIpLCBwbG90ID0gbGFzdF9wbG90KCkpCgpnZ3B1YnI6Omdnc2NhdHRlcihBRURCLkNFQSwgCiAgICAgICAgICAgICAgICAgIHggPSAiTUNQMV9wZ191Z18yMDE1X3JhbmsiLAogICAgICAgICAgICAgICAgICB5ID0gIk1DUDFfcGxhc21hX29saW5rX3JhbmsiLCAKICAgICAgICAgICAgICAgICAgeGxhYiA9ICJNQ1AxIHBsYXF1ZSBbcGcvdWddXG4oaW52ZXJzZS1yYW5rIHRyYW5zZm9ybWF0aW9uKSIsCiAgICAgICAgICAgICAgICAgIHlsYWIgPSAiTUNQMSBwbGFzbWEgW0FVXVxuKGludmVyc2UtcmFuayB0cmFuc2Zvcm1hdGlvbikiLAogICAgICAgICAgICAgICAgICBhZGQgPSAicmVnLmxpbmUiLCBhZGQucGFyYW1zID0gbGlzdChjb2xvciA9ICIjMTI5MEQ5IiksCiAgICAgICAgICAgICAgICAgIGNvbmYuaW50ID0gVFJVRSwKICAgICAgICAgICAgICAgICAgY29yLmNvZWYgPSBUUlVFLCBjb3IuY29lZmYuYXJncyA9IGxpc3QobWV0aG9kID0gInNwZWFybWFuIiksIGNvci5jb2VmLmNvb3JkID0gYygyLDMpKQpnZ3NhdmUoZmlsZSA9IHBhc3RlMChQTE9UX2xvYywgIi8iLFRvZGF5LCIuQUVEQi5DRUEuTUNQMS5wbGFxdWVfdnNfcGxhc21hLnJhbmsucGRmIiksIHBsb3QgPSBsYXN0X3Bsb3QoKSkKCmBgYAoKIyMgUGxhcXVlIHZzLiBwbGFxdWUgTUNQMSBsZXZlbHMKV2Ugd2lsbCBhbHNvIG1ha2UgYSBuaWNlIGNvcnJlbGF0aW9uIHBsb3QgYmV0d2VlbiB0aGUgdHdvIGV4cGVyaW1lbnRzIG9mIHBsYXF1ZSBNQ1AxIGxldmVscy4gCgpgYGB7ciBNQ1AxIGNvcnJlbGF0aW9ucywgcGxhcXVlIHZzLiBwbGFxdWV9CkFFREIuQ0VBJE1DUDFfcmFuayA8LSBxbm9ybSgocmFuayhBRURCLkNFQSRNQ1AxLCBuYS5sYXN0ID0gImtlZXAiKSAtIDAuNSkgLyBzdW0oIWlzLm5hKEFFREIuQ0VBJE1DUDEpKSkKc3VtbWFyeShBRURCLkNFQSRNQ1AxKQpzdW1tYXJ5KEFFREIuQ0VBJE1DUDFfcGdfdWdfMjAxNSkKCmdncHVicjo6Z2dzY2F0dGVyKEFFREIuQ0VBLCAKICAgICAgICAgICAgICAgICAgeCA9ICJNQ1AxIiwgCiAgICAgICAgICAgICAgICAgIHkgPSAiTUNQMV9wZ191Z18yMDE1IiwKICAgICAgICAgICAgICAgICAgeGxhYiA9ICJNQ1AxIHBsYXF1ZSBbcGcvbUxdIChleHAuIG5vLiAxKSIsCiAgICAgICAgICAgICAgICAgIHlsYWIgPSAiTUNQMSBwbGFxdWUgW3BnL3VnXSAoZXhwLiBuby4gMikiLAogICAgICAgICAgICAgICAgICBhZGQgPSAicmVnLmxpbmUiLCBhZGQucGFyYW1zID0gbGlzdChjb2xvciA9ICIjMTI5MEQ5IiksCiAgICAgICAgICAgICAgICAgIGNvbmYuaW50ID0gVFJVRSwKICAgICAgICAgICAgICAgICAgY29yLmNvZWYgPSBUUlVFLCBjb3IuY29lZmYuYXJncyA9IGxpc3QobWV0aG9kID0gInNwZWFybWFuIikpCmdnc2F2ZShmaWxlID0gcGFzdGUwKFBMT1RfbG9jLCAiLyIsVG9kYXksIi5BRURCLkNFQS5NQ1AxLnBsYXF1ZV92c19wbGFxdWUucmF3LnBkZiIpLCBwbG90ID0gbGFzdF9wbG90KCkpCgpnZ3B1YnI6Omdnc2NhdHRlcihBRURCLkNFQSwgCiAgICAgICAgICAgICAgICAgIHggPSAiTUNQMV9yYW5rIiwgCiAgICAgICAgICAgICAgICAgIHkgPSAiTUNQMV9wZ191Z18yMDE1X3JhbmsiLAogICAgICAgICAgICAgICAgICB4bGFiID0gIk1DUDEgcGxhcXVlIFtwZy9tTF1cbihJTlJULCAgZXhwLiBuby4gMSkiLAogICAgICAgICAgICAgICAgICB5bGFiID0gIk1DUDEgcGxhcXVlIFtwZy91Z11cbihJTlJULCAgZXhwLiBuby4gMikiLAogICAgICAgICAgICAgICAgICBhZGQgPSAicmVnLmxpbmUiLCBhZGQucGFyYW1zID0gbGlzdChjb2xvciA9ICIjMTI5MEQ5IiksCiAgICAgICAgICAgICAgICAgIGNvbmYuaW50ID0gVFJVRSwKICAgICAgICAgICAgICAgICAgY29yLmNvZWYgPSBUUlVFLCBjb3IuY29lZmYuYXJncyA9IGxpc3QobWV0aG9kID0gInNwZWFybWFuIikpCmdnc2F2ZShmaWxlID0gcGFzdGUwKFBMT1RfbG9jLCAiLyIsVG9kYXksIi5BRURCLkNFQS5NQ1AxLnBsYXF1ZV92c19wbGFzbWEucmFuay5wZGYiKSwgcGxvdCA9IGxhc3RfcGxvdCgpKQoKYGBgCgoKIyMgU3ltcHRvbXMKV2Ugd2FudCB0byBjcmVhdGUgcGVyLXN5bXB0b20gZmlndXJlcy4gCgoKYGBge3IgU3ltcHRvbUdyb3Vwc30KbGlicmFyeShkcGx5cikKCnRhYmxlKEFFREIuQ0VBJEFnZUdyb3VwLCBBRURCLkNFQSRBc3ltcHRTeW1wdDJHKQp0YWJsZShBRURCLkNFQSRHZW5kZXIsIEFFREIuQ0VBJEFzeW1wdFN5bXB0MkcpCnRhYmxlKEFFREIuQ0VBJEFzeW1wdFN5bXB0MkcpCgpgYGAKCk5vdyB3ZSBjYW4gZHJhdyBzb21lIGdyYXBocyBvZiBwbGFzbWEvcGxhcXVlIE1DUDEgbGV2ZWxzIHBlciBzeW1wdG9tIGdyb3VwLgpgYGB7ciBNQ1AxIHBlciBTeW1wdG9tR3JvdXBzfQoKIyA/Z2dwdWJyOjpnZ2JveHBsb3QoKQpteV9jb21wYXJpc29ucyA8LSBsaXN0KGMoIkFzeW1wdG9tYXRpYyIsICJTeW1wdG9tYXRpYyIpKQoKcDEgPC0gZ2dwdWJyOjpnZ2JveHBsb3QoQUVEQi5DRUEsIAogICAgICAgICAgICAgICAgICB4ID0gIkFzeW1wdFN5bXB0MkciLCB5ID0gIk1DUDFfcGdfdWdfMjAxNV9yYW5rIiwKICAgICAgICAgICAgICAgICAgdGl0bGUgPSAiTUNQMSBwbGFxdWUgW3BnL3VnXSBsZXZlbHMgcGVyIHN5bXB0b20iLCAKICAgICAgICAgICAgICAgICAgeGxhYiA9ICJTeW1wdG9tcyIsCiAgICAgICAgICAgICAgICAgIHlsYWIgPSAiTUNQMSBwbGFxdWUgW3BnL3VnXVxuIGludmVyc2UtcmFuayB0cmFuc2Zvcm1hdGlvbiIsCiAgICAgICAgICAgICAgICAgIGNvbG9yID0gIkFzeW1wdFN5bXB0MkciLCAKICAgICAgICAgICAgICAgICAgcGFsZXR0ZSA9IGModWl0aG9mX2NvbG9yWzE2XSwgdWl0aG9mX2NvbG9yWzIzXSksCiAgICAgICAgICAgICAgICAgIGFkZCA9ICJkb3RwbG90IiwgIyBBZGQgZG90cGxvdAogICAgICAgICAgICAgICAgICBhZGQucGFyYW1zID0gbGlzdChiaW53aWR0aCA9IDAuMSwgZG90c2l6ZSA9IDAuMykKICAgICAgICAgICkgKwogIHN0YXRfY29tcGFyZV9tZWFucyhjb21wYXJpc29ucyA9IG15X2NvbXBhcmlzb25zLCBtZXRob2QgPSAid2lsY294LnRlc3QiKQpnZ3BhcihwMSwgbGVnZW5kID0gYygicmlnaHQiKSwgbGVnZW5kLnRpdGxlID0gIlN5bXB0b21zIikKCmdnc2F2ZShmaWxlID0gcGFzdGUwKFBMT1RfbG9jLCAiLyIsVG9kYXksIi5BRURCLkNFQS5NQ1AxLnBsYXF1ZS5Bc3ltcHRTeW1wdDJHLnBkZiIpLCBwbG90ID0gbGFzdF9wbG90KCkpCgpybShwMSkKCmBgYAoKYGBge3IgTUNQMSBwZXIgU3ltcHRvbUdyb3VwcywgcGxhc21hfQpwMSA8LSBnZ3B1YnI6OmdnYm94cGxvdChBRURCLkNFQSwgCiAgICAgICAgICAgICAgICAgIHggPSAiU3ltcHRvbXMuNUciLCB5ID0gIk1DUDFfcGxhc21hX29saW5rX3JhbmsiLAogICAgICAgICAgICAgICAgICB0aXRsZSA9ICJNQ1AxIHBsYXNtYSBbQVVdIGxldmVscyBwZXIgc3ltcHRvbSIsIAogICAgICAgICAgICAgICAgICB4bGFiID0gIlN5bXB0b21zIiwKICAgICAgICAgICAgICAgICAgeWxhYiA9ICJNQ1AxIHBsYXNtYSBbQVVdXG4gaW52ZXJzZS1yYW5rIHRyYW5zZm9ybWF0aW9uIiwKICAgICAgICAgICAgICAgICAgY29sb3IgPSAiU3ltcHRvbXMuNUciLCAKICAgICAgICAgICAgICAgICAgcGFsZXR0ZSA9ICJucGciLAogICAgICAgICAgICAgICAgICBhZGQgPSAiZG90cGxvdCIsICMgQWRkIGRvdHBsb3QKICAgICAgICAgICAgICAgICAgYWRkLnBhcmFtcyA9IGxpc3QoYmlud2lkdGggPSAwLjEsIGRvdHNpemUgPSAwLjMpCiAgICAgICAgICApICsKICBzdGF0X2NvbXBhcmVfbWVhbnMoY29tcGFyaXNvbnMgPSBteV9jb21wYXJpc29ucywgbWV0aG9kID0gIndpbGNveC50ZXN0IikKZ2dwYXIocDEgKyByb3RhdGVfeF90ZXh0KDQ1KSwgbGVnZW5kID0gYygicmlnaHQiKSwgbGVnZW5kLnRpdGxlID0gIlN5bXB0b21zIikKCmdnc2F2ZShmaWxlID0gcGFzdGUwKFBMT1RfbG9jLCAiLyIsVG9kYXksIi5BRURCLkNFQS5NQ1AxLnBsYXNtYS5Bc3ltcHRTeW1wdDJHLnBkZiIpLCBwbG90ID0gbGFzdF9wbG90KCkpCgpybShwMSkKCmBgYAoKIyMgRm9yZXN0IHBsb3RzCgpXZSB3b3VsZCBhbHNvIGxpa2UgdG8gdmlzdWFsaXplIHRoZSBtdWx0aXZhcmlhYmxlIGFuYWx5c2VzIHJlc3VsdHMuCmBgYHtyIGxvYWQgbW9kZWwgZGF0YX0KbGlicmFyeShnZ3Bsb3QyKQpsaWJyYXJ5KG9wZW54bHN4KQptb2RlbDFfbWNwMSA8LSByZWFkLnhsc3gocGFzdGUwKE9VVF9sb2MsICIvIiwgVG9kYXksICIuQUVEQi5DRUEuQmluLlVuaS5Qcm90ZWluLlJBTksuU3ltcHRvbXMuTU9ERUwxLnhsc3giKSkKbW9kZWwyX21jcDEgPC0gcmVhZC54bHN4KHBhc3RlMChPVVRfbG9jLCAiLyIsIFRvZGF5LCAiLkFFREIuQ0VBLkJpbi5NdWx0aS5Qcm90ZWluLlJBTksuU3ltcHRvbXMuTU9ERUwyLnhsc3giKSkKbW9kZWwxX21jcDEkbW9kZWwgPC0gInVuaXZhcmlhdGUiCm1vZGVsMl9tY3AxJG1vZGVsIDwtICJtdWx0aXZhcmlhdGUiCgptb2RlbHNfbWNwMSA8LSByYmluZChtb2RlbDFfbWNwMSwgbW9kZWwyX21jcDEpCm1vZGVsc19tY3AxCgpgYGAKCkZvcmVzdCBwbG90IGZvciBleHBlcmltZW50IDIuCgpgYGB7ciBmb3Jlc3RwbG90IHBsYXF1ZSwgZXhwZXJpbWVudCAyfQpkYXQgPC0gZGF0YS5mcmFtZShncm91cCA9IGZhY3RvcihjKCJBZ2UsIHNleC1hZGp1c3RlZCIsICJBZ2UsIHNleCwgYW5kIGFkanVzdGVkIGZvciByaXNrIGZhY3RvcnMiKSwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICBsZXZlbHM9YygiQWdlLCBzZXgsIGFuZCBhZGp1c3RlZCBmb3IgcmlzayBmYWN0b3JzIiwgIkFnZSwgc2V4LWFkanVzdGVkIikpLAogICAgICAgICAgICAgICAgICBjZW4gPSBjKG1vZGVsc19tY3AxJE9SW21vZGVsc19tY3AxJFByZWRpY3Rvcj09Ik1DUDFfcGdfdWdfMjAxNV9yYW5rIl0pLAogICAgICAgICAgICAgICAgICBsb3cgPSBjKG1vZGVsc19tY3AxJGxvdzk1Q0lbbW9kZWxzX21jcDEkUHJlZGljdG9yPT0iTUNQMV9wZ191Z18yMDE1X3JhbmsiXSksCiAgICAgICAgICAgICAgICAgIGhpZ2ggPSBjKG1vZGVsc19tY3AxJHVwOTVDSVttb2RlbHNfbWNwMSRQcmVkaWN0b3I9PSJNQ1AxX3BnX3VnXzIwMTVfcmFuayJdKSkKCmZwIDwtIGdncGxvdChkYXRhID0gZGF0LCBhZXMoeCA9IGdyb3VwLCB5ID0gY2VuLCB5bWluID0gbG93LCB5bWF4ID0gaGlnaCkpICsKICBnZW9tX3BvaW50cmFuZ2UobGluZXR5cGUgPSAyLCBzaXplID0gMSwgY29sb3VyID0gYygiIzEyOTBEOSIsICIjNDlBMDFEIikpICsgCiAgZ2VvbV9obGluZSh5aW50ZXJjZXB0ID0gMSwgbHR5ID0gMikgKyAgIyBhZGQgYSBkb3R0ZWQgbGluZSBhdCB4PTEgYWZ0ZXIgZmxpcAogIGNvb3JkX2ZsaXAoeWxpbSA9IGMoMC44LCAxLjcpKSArICAjIGZsaXAgY29vcmRpbmF0ZXMgKHB1dHMgbGFiZWxzIG9uIHkgYXhpcykKICB4bGFiKCJNb2RlbCIpICsgeWxhYigiT1IgKDk1JSBDSSkgZm9yIHN5bXB0b21hdGljIHBsYXF1ZXMiKSArCiAgZ2d0aXRsZSgiUGxhcXVlIE1DUC0xIGxldmVscyAoMSBTRCBpbmNyZW1lbnQsIGV4cC4gIzIsIG4gPSAxMTkwKykiKSArCiAgdGhlbWVfbWluaW1hbCgpICAjIHVzZSBhIHdoaXRlIGJhY2tncm91bmQKcHJpbnQoZnApCgpnZ3NhdmUoZmlsZSA9IHBhc3RlMChQTE9UX2xvYywgIi8iLFRvZGF5LCIuQUVEQi5DRUEuTUNQMS5wbGFxdWUuZXhwMi5mb3Jlc3QucGRmIiksIHBsb3QgPSBmcCkKCnJtKGZwKQpgYGAKCkZvcmVzdCBwbG90IGZvciBleHBlcmltZW50IDEuCgpgYGB7ciBmb3Jlc3RwbG90IHBsYXF1ZSwgZXhwZXJpbWVudCAxfQpkYXQgPC0gZGF0YS5mcmFtZShncm91cCA9IGZhY3RvcihjKCJBZ2UsIHNleC1hZGp1c3RlZCIsICJBZ2UsIHNleCwgYW5kIGFkanVzdGVkIGZvciByaXNrIGZhY3RvcnMiKSwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICBsZXZlbHM9YygiQWdlLCBzZXgsIGFuZCBhZGp1c3RlZCBmb3IgcmlzayBmYWN0b3JzIiwgIkFnZSwgc2V4LWFkanVzdGVkIikpLAogICAgICAgICAgICAgICAgICBjZW4gPSBjKG1vZGVsc19tY3AxJE9SW21vZGVsc19tY3AxJFByZWRpY3Rvcj09Ik1DUDFfcmFuayJdKSwKICAgICAgICAgICAgICAgICAgbG93ID0gYyhtb2RlbHNfbWNwMSRsb3c5NUNJW21vZGVsc19tY3AxJFByZWRpY3Rvcj09Ik1DUDFfcmFuayJdKSwKICAgICAgICAgICAgICAgICAgaGlnaCA9IGMobW9kZWxzX21jcDEkdXA5NUNJW21vZGVsc19tY3AxJFByZWRpY3Rvcj09Ik1DUDFfcmFuayJdKSkKCmZwIDwtIGdncGxvdChkYXRhID0gZGF0LCBhZXMoeCA9IGdyb3VwLCB5ID0gY2VuLCB5bWluID0gbG93LCB5bWF4ID0gaGlnaCkpICsKICBnZW9tX3BvaW50cmFuZ2UobGluZXR5cGUgPSAyLCBzaXplID0gMSwgY29sb3VyID0gYygiIzEyOTBEOSIsICIjNDlBMDFEIikpICsgCiAgZ2VvbV9obGluZSh5aW50ZXJjZXB0ID0gMSwgbHR5ID0gMikgKyAgIyBhZGQgYSBkb3R0ZWQgbGluZSBhdCB4PTEgYWZ0ZXIgZmxpcAogIGNvb3JkX2ZsaXAoeWxpbSA9IGMoMC44LCAxLjcpKSArICAjIGZsaXAgY29vcmRpbmF0ZXMgKHB1dHMgbGFiZWxzIG9uIHkgYXhpcykKICB4bGFiKCJNb2RlbCIpICsgeWxhYigiT1IgKDk1JSBDSSkgZm9yIHN5bXB0b21hdGljIHBsYXF1ZXMiKSArCiAgZ2d0aXRsZSgiUGxhcXVlIE1DUC0xIGxldmVscyAoMSBTRCBpbmNyZW1lbnQsIGV4cC4gIzEsIG4gPSA0OTArKSIpICsKICB0aGVtZV9taW5pbWFsKCkgICMgdXNlIGEgd2hpdGUgYmFja2dyb3VuZApwcmludChmcCkKCmdnc2F2ZShmaWxlID0gcGFzdGUwKFBMT1RfbG9jLCAiLyIsVG9kYXksIi5BRURCLkNFQS5NQ1AxLnBsYXF1ZS5leHAxLmZvcmVzdC5wZGYiKSwgcGxvdCA9IGZwKQoKcm0oZnApCmBgYAoKIyMgTUNQMSB2cy4gY3l0b2tpbmVzIHBsYXF1ZSBsZXZlbHMgY29ycmVsYXRpb25zCgpXZSB3aWxsIHBsb3QgdGhlIGNvcnJlbGF0aW9ucyBvZiBvdGhlciBjeXRva2luZSBwbGFxdWUgbGV2ZWxzIHRvIHRoZSBNQ1AxIHBsYXF1ZSBsZXZlbHMuIFRoZXNlIGluY2x1ZGU6CgotIElMMgotIElMNAotIElMNQotIElMNgotIElMOAotIElMOQotIElMMTAKLSBJTDEyCi0gSUwxMwotIElMMjEKLSBJTkZHCi0gVE5GQQotIE1JRgotIE1DUDEKLSBNSVAxYQotIFJBTlRFUwotIE1JRwotIElQMTAKLSBFb3RheGluMQotIFRBUkMKLSBQQVJDCi0gTURDCi0gT1BHCi0gc0lDQU0xCi0gVkVHRkEKLSBUR0ZCCgpJbiBhZGRpdGlvbiB3ZSB3aWxsIGxvb2sgYXQgdGhyZWUgbWV0YWxsb3Byb3RlaW5hc2VzIHdoaWNoIHdlcmUgbWVhc3VyZWQgdXNpbmcgYW4gYWN0aXZpdHkgYXNzYXkuIAoKLSBNTVAyCi0gTU1QOAotIE1NUDkKClRoZSBwcm90ZWlucyB3ZXJlIG1lYXN1cmVkIHVzaW5nIEZBQ1MgYW5kIExVTUlORVguIEdpdmVuIHRoZSBkaWZmZXJlbnQgcGxhdGZvcm1zIHVzZWQgKEZBQ1MgdnMuIExVTUlORVgpLCB3ZSB3aWxsIGludmVyc2UgcmFuay1ub3JtYWxpemUgdGhlc2UgdmFyaWFibGVzIGFzIHdlbGwgdG8gc2NhbGUgdGhlbSB0byB0aGUgc2FtZSBzY2FsZSBhcyB0aGUgTUNQMSBwbGFxdWUgbGV2ZWxzLgoKCldlIHdpbGwgc2V0IHRoZSBtZWFzdXJlbWVudHMgdGhhdCB5aWVsZGVkICcwJyB0byBOQSwgYXMgaXQgaXMgdW5saWtlbHkgdGhhdCBhbnkgcHJvdGVpbiBldmVyIGhhcyBleGFjdGx5IDAgY29waWVzLiBUaGUgJzAnIHlpZWxkZWQgZHVyaW5nIHRoZSBleHBlcmltZW50IGFyZSBkdWUgdG8gdGhlIGxpbWl0cyBvZiB0aGUgZGV0ZWN0aW9uLgoKIyMjIFByZXBhcmUgZGF0YQpgYGB7ciBNQ1AxIHZzIEN5dG9raW5lcyBJTlJUfQpjeXRva2luZXMgPC0gYygiSUwyIiwgIklMNCIsICJJTDUiLCAiSUw2IiwgIklMOCIsICJJTDkiLCAiSUwxMCIsICJJTDEyIiwgIklMMTMiLCAiSUwyMSIsIAogICAgICAgICAgICAgICAiSU5GRyIsICJUTkZBIiwgIk1JRiIsICJNQ1AxIiwgIk1JUDFhIiwgIlJBTlRFUyIsICJNSUciLCAiSVAxMCIsICJFb3RheGluMSIsIAogICAgICAgICAgICAgICAiVEFSQyIsICJQQVJDIiwgIk1EQyIsICJPUEciLCAic0lDQU0xIiwgIlZFR0ZBIiwgIlRHRkIiKQptZXRhbGxvcHJvdGVpbmFzZXMgPC0gYygiTU1QMiIsICJNTVA4IiwgIk1NUDkiKQoKIyBmaXggbmFtZXMKbmFtZXMoQUVEQi5DRUEpW25hbWVzKEFFREIuQ0VBKSA9PSAiVkVGR0EiXSA8LSAiVkVHRkEiCgoKcHJvdGVpbnNfb2ZfaW50ZXJlc3QgPC0gYyhjeXRva2luZXMsIG1ldGFsbG9wcm90ZWluYXNlcykKCnByb3RlaW5zX29mX2ludGVyZXN0X3JhbmsgPSB1bmxpc3QobGFwcGx5KHByb3RlaW5zX29mX2ludGVyZXN0LCBwYXN0ZTAsICJfcmFuayIpKQoKCiMgbWFrZSB2YXJpYWJsZXMgbnVtZXJpY3MoKQpBRURCLkNFQSA8LSBBRURCLkNFQSAlPiUKICBtdXRhdGVfZWFjaChmdW5zKGFzLm51bWVyaWMpLCBwcm90ZWluc19vZl9pbnRlcmVzdCkKICAKZm9yKFBST1RFSU4gaW4gMTpsZW5ndGgocHJvdGVpbnNfb2ZfaW50ZXJlc3QpKXsKCiAgIyBVQ09SQklPR1NBcWMkWiA8LSBOVUxMCiAgdmFyLnRlbXAucmFuayA9IHByb3RlaW5zX29mX2ludGVyZXN0X3JhbmtbUFJPVEVJTl0KICB2YXIudGVtcCA9IHByb3RlaW5zX29mX2ludGVyZXN0W1BST1RFSU5dCiAgCiAgY2F0KHBhc3RlMCgiXG5TZWxlY3RpbmcgIiwgdmFyLnRlbXAsICIgYW5kIHN0YW5kYXJkaXNpbmc6ICIsIHZhci50ZW1wLnJhbmssIi5cbiIpKQogIGNhdChwYXN0ZTAoIiogY2hhbmdpbmcgIiwgdmFyLnRlbXAsICIgdG8gbnVtZXJpYy5cbiIpKQoKICAjIEFFREIuQ0VBIDwtICBBRURCLkNFQSAlPiUgbXV0YXRlKEFFREIuQ0VBWyx2YXIudGVtcF0gPT0gcmVwbGFjZShBRURCLkNFQVssdmFyLnRlbXBdLCBBRURCLkNFQVssdmFyLnRlbXBdPT0wLCBOQSkpCgogIEFFREIuQ0VBWyx2YXIudGVtcF1bQUVEQi5DRUFbLHZhci50ZW1wXT09MC4wMDAwMDBdPU5BCgogIGNhdChwYXN0ZTAoIiogc3RhbmRhcmRpc2luZyAiLCB2YXIudGVtcCwgCiAgICAgICAgICAgICAiIChtZWFuOiAiLHJvdW5kKG1lYW4oIWlzLm5hKEFFREIuQ0VBWyx2YXIudGVtcF0pKSwgZGlnaXRzID0gNiksCiAgICAgICAgICAgICAiLCBuID0gIixzdW0oIWlzLm5hKEFFREIuQ0VBWyx2YXIudGVtcF0pKSwiKS5cbiIpKQogIAogIEFFREIuQ0VBIDwtIEFFREIuQ0VBICU+JQogICAgICBtdXRhdGVfYXQodmFycyh2YXIudGVtcCksIAogICAgICAgICMgbGlzdChaID0gfiAoQUVEQi5DRUFbLHZhci50ZW1wXSAtIG1lYW4oQUVEQi5DRUFbLHZhci50ZW1wXSwgbmEucm0gPSBUUlVFKSkvc2QoQUVEQi5DRUFbLHZhci50ZW1wXSwgbmEucm0gPSBUUlVFKSkKICAgICAgICBsaXN0KFJBTksgPSB+IHFub3JtKChyYW5rKEFFREIuQ0VBWyx2YXIudGVtcF0sIG5hLmxhc3QgPSAia2VlcCIpIC0gMC41KSAvIHN1bSghaXMubmEoQUVEQi5DRUFbLHZhci50ZW1wXSkpKSkKICAgICAgKQogICMgc3RyKFVDT1JCSU9HU0FxYyRaKQogIGNhdChwYXN0ZTAoIiogcmVuYW1pbmcgUkFOSyB0byAiLCB2YXIudGVtcC5yYW5rLCIuXG4iKSkKICBBRURCLkNFQVssdmFyLnRlbXAucmFua10gPC0gTlVMTAogIG5hbWVzKEFFREIuQ0VBKVtuYW1lcyhBRURCLkNFQSkgPT0gIlJBTksiXSA8LSB2YXIudGVtcC5yYW5rCn0KCiMgcm0odmFyLnRlbXAsIHZhci50ZW1wLnJhbmspCgpgYGAKCiMjIyBWaXN1YWxpemUgdHJhbnNmb3JtYXRpb25zCgpXZSB3aWxsIGp1c3QgdmlzdWFsaXplIHRoZXNlIHRyYW5zZm9ybWF0aW9ucy4KCmBgYHtyIE1DUDEgdnMgQ3l0b2tpbmVzIEhpc3RvZ3JhbXN9CnByb3RlaW5zX29mX2ludGVyZXN0X3JhbmtfbWNwMSA8LSBjKCJNQ1AxX3BnX3VnXzIwMTVfcmFuayIsICJNQ1AxX3BnX21sXzIwMTVfcmFuayIsIHByb3RlaW5zX29mX2ludGVyZXN0X3JhbmspCgpwcm90ZWluc19vZl9pbnRlcmVzdF9tY3AxIDwtIGMoIk1DUDFfcGdfdWdfMjAxNSIsICJNQ1AxX3BnX21sXzIwMTUiLCBwcm90ZWluc19vZl9pbnRlcmVzdCkKCmZvcihQUk9URUlOIGluIHByb3RlaW5zX29mX2ludGVyZXN0X21jcDEpewogIGNhdChwYXN0ZTAoIlBsb3R0aW5nIHByb3RlaW4gIiwgUFJPVEVJTiwgIi5cbiIpKQogIAogIHAxIDwtIGdncHVicjo6Z2doaXN0b2dyYW0oQUVEQi5DRUEsIFBST1RFSU4sCiAgICAgICAgICAgICAgICAgICAgIyB5ID0gIi4uY291bnQuLiIsCiAgICAgICAgICAgICAgICAgICAgY29sb3IgPSAid2hpdGUiLAogICAgICAgICAgICAgICAgICAgIGZpbGwgPSAiR2VuZGVyIiwKICAgICAgICAgICAgICAgICAgICBwYWxldHRlID0gYygiIzEyOTBEOSIsICIjREIwMDNGIiksCiAgICAgICAgICAgICAgICAgICAgYWRkID0gIm1lYW4iLAogICAgICAgICAgICAgICAgICAgICMgcnVnID0gVFJVRSwKICAgICAgICAgICAgICAgICAgICAjIGFkZC5wYXJhbXMgPSAgbGlzdChjb2xvciA9ICJibGFjayIsIGxpbmV0eXBlID0gMiksCiAgICAgICAgICAgICAgICAgICAgdGl0bGUgPSBwYXN0ZTAoUFJPVEVJTiwgIiBwbGFxdWUgbGV2ZWxzIiksCiAgICAgICAgICAgICAgICAgICAgeGxhYiA9ICIiLAogICAgICAgICAgICAgICAgICAgIGdndGhlbWUgPSB0aGVtZV9taW5pbWFsKCkpCiAgcHJpbnQocDEpCiAgCn0KCgpmb3IoUFJPVEVJTiBpbiBwcm90ZWluc19vZl9pbnRlcmVzdF9yYW5rX21jcDEpewogIGNhdChwYXN0ZTAoIlBsb3R0aW5nIHByb3RlaW4gIiwgUFJPVEVJTiwgIi5cbiIpKQogIAogIHAxIDwtIGdncHVicjo6Z2doaXN0b2dyYW0oQUVEQi5DRUEsIFBST1RFSU4sCiAgICAgICAgICAgICAgICAgICAgIyB5ID0gIi4uY291bnQuLiIsCiAgICAgICAgICAgICAgICAgICAgY29sb3IgPSAid2hpdGUiLAogICAgICAgICAgICAgICAgICAgIGZpbGwgPSAiR2VuZGVyIiwKICAgICAgICAgICAgICAgICAgICBwYWxldHRlID0gYygiIzEyOTBEOSIsICIjREIwMDNGIiksCiAgICAgICAgICAgICAgICAgICAgYWRkID0gIm1lYW4iLAogICAgICAgICAgICAgICAgICAgICMgcnVnID0gVFJVRSwKICAgICAgICAgICAgICAgICAgICAjIGFkZC5wYXJhbXMgPSAgbGlzdChjb2xvciA9ICJibGFjayIsIGxpbmV0eXBlID0gMiksCiAgICAgICAgICAgICAgICAgICAgdGl0bGUgPSBwYXN0ZTAoUFJPVEVJTiwgIiBwbGFxdWUgbGV2ZWxzIiksCiAgICAgICAgICAgICAgICAgICAgeGxhYiA9ICJpbnZlcnNlLW5vcm1hbCB0cmFuc2Zvcm1hdGlvbiIsCiAgICAgICAgICAgICAgICAgICAgZ2d0aGVtZSA9IHRoZW1lX21pbmltYWwoKSkKICBwcmludChwMSkKICAKfQogIApgYGAKCiMjIyBDb3JyZWxhdGlvbnMKCkhlcmUgd2UgY2FsY3VsYXRlIGNvcnJlbGF0aW9ucyBiZXR3ZWVuIGBNQ1AxX3BnX3VnXzIwMTVgIGFuZCAyOCBvdGhlciBjeXRva2luZXMgKGluY2x1ZGluZyBgTUNQMWAgYXMgbWVhc3VyZWQgaW4gZXhwZXJpbWVudCAxLiBXZSB1c2UgU3BlYXJtYW4ncyB0ZXN0LCB0aHVzLCBjb3JyZWxhdGlvbnMgYSBnaXZlbiBpbiBfcmhvXy4gUGxlYXNlIG5vdGUgdGhlIGluZGljYXRpb25zIG9mIG1lYXN1cmVtZW50IG1ldGhvZHM6CgotIF9MXzogTFVNSU5FWAotIF9FXzogRUxJU0EKLSBfYV86IGFjdGl2aXR5IGFzc2F5CgpgYGB7ciBNQ1AxIHZzIEN5dG9raW5lcyBjb3JyZWxhdGlvbnN9CiMgSW5zdGFsbGF0aW9uIG9mIGdnY29ycnBsb3QoKQojIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCmlmKCFyZXF1aXJlKGRldnRvb2xzKSkgCiAgaW5zdGFsbC5wYWNrYWdlcygiZGV2dG9vbHMiKQpkZXZ0b29sczo6aW5zdGFsbF9naXRodWIoImthc3NhbWJhcmEvZ2djb3JycGxvdCIpCgpsaWJyYXJ5KGdnY29ycnBsb3QpCgojIENyZWF0aW5nIG1hdHJpeCAtIGludmVyc2UtcmFuayB0cmFuc2Zvcm1hdGlvbgojIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCkFFREIuQ0VBLnRlbXAgPC0gc3Vic2V0KEFFREIuQ0VBLCAKICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3QgPSBjKHByb3RlaW5zX29mX2ludGVyZXN0X3JhbmtfbWNwMSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQoKIyBzdHIoQUVEQi5DRUEudGVtcCkKQUVEQi5DRUEubWF0cml4LlJBTksgPC0gYXMubWF0cml4KEFFREIuQ0VBLnRlbXApCnJtKEFFREIuQ0VBLnRlbXApCgpjb3JyX2Jpb21hcmtlcnMucmFuayA8LSByb3VuZChjb3IoQUVEQi5DRUEubWF0cml4LlJBTkssIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZSA9ICJwYWlyd2lzZS5jb21wbGV0ZS5vYnMiLCAjdGhlIGNvcnJlbGF0aW9uIG9yIGNvdmFyaWFuY2UgYmV0d2VlbiBlYWNoIHBhaXIgb2YgdmFyaWFibGVzIGlzIGNvbXB1dGVkIHVzaW5nIGFsbCBjb21wbGV0ZSBwYWlycyBvZiBvYnNlcnZhdGlvbnMgb24gdGhvc2UgdmFyaWFibGVzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWV0aG9kID0gInNwZWFybWFuIiksIDMpCiMgY29ycl9iaW9tYXJrZXJzLnJhbmsKCnJlbmFtZV9wcm90ZWluc19vZl9pbnRlcmVzdF9tY3AxIDwtIGMoIk1DUDEgKEwsIGV4cDIsIHBnL3VnKSIsICJNQ1AxIChMLCBleHAyLCBwZy9tTCkiLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIklMMiIsICJJTDQiLCAiSUw1IiwgIklMNiIsICJJTDgiLCAiSUw5IiwgIklMMTAiLCAiSUwxMiIsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiSUwxMyAoTCkiLCAiSUwyMSAoTCkiLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIklORkciLCAiVE5GQSIsICJNSUYgKEwpIiwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJNQ1AxIChMLCBleHAxKSIsICJNSVAxYSAoTCkiLCAiUkFOVEVTIChMKSIsICJNSUcgKEwpIiwgIklQMTAgKEwpIiwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJFb3RheGluMSAoTCkiLCAiVEFSQyAoTCkiLCAiUEFSQyAoTCkiLCAiTURDIChMKSIsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiT1BHIChMKSIsICJzSUNBTTEgKEwpIiwgIlZFR0ZBIChFKSIsICJUR0ZCIChFKSIsICJNTVAyIChhKSIsICJNTVA4IChhKSIsICJNTVA5IChhKSIpCmNvbG5hbWVzKGNvcnJfYmlvbWFya2Vycy5yYW5rKSA8LSBjKHJlbmFtZV9wcm90ZWluc19vZl9pbnRlcmVzdF9tY3AxKQpyb3duYW1lcyhjb3JyX2Jpb21hcmtlcnMucmFuaykgPC0gYyhyZW5hbWVfcHJvdGVpbnNfb2ZfaW50ZXJlc3RfbWNwMSkKCmNvcnJfYmlvbWFya2Vyc19wLnJhbmsgPC0gZ2djb3JycGxvdDo6Y29yX3BtYXQoQUVEQi5DRUEubWF0cml4LlJBTkssIHVzZSA9ICJwYWlyd2lzZS5jb21wbGV0ZS5vYnMiLCBtZXRob2QgPSAic3BlYXJtYW4iKQoKIyArKysrKysrKysrKysrKysrKysrKysrKysrKysrCiMgZmxhdHRlbkNvcnJNYXRyaXgKIyArKysrKysrKysrKysrKysrKysrKysrKysrKysrCiMgY29ybWF0IDogbWF0cml4IG9mIHRoZSBjb3JyZWxhdGlvbiBjb2VmZmljaWVudHMKIyBwbWF0IDogbWF0cml4IG9mIHRoZSBjb3JyZWxhdGlvbiBwLXZhbHVlcwpmbGF0dGVuQ29yck1hdHJpeCA8LSBmdW5jdGlvbihjb3JtYXQsIHBtYXQpIHsKICB1dCA8LSB1cHBlci50cmkoY29ybWF0KQogIGRhdGEuZnJhbWUoCiAgICByb3cgPSByb3duYW1lcyhjb3JtYXQpW3Jvdyhjb3JtYXQpW3V0XV0sCiAgICBjb2x1bW4gPSByb3duYW1lcyhjb3JtYXQpW2NvbChjb3JtYXQpW3V0XV0sCiAgICBjb3IgID0oY29ybWF0KVt1dF0sCiAgICBwID0gcG1hdFt1dF0KICAgICkKfQoKY29ycl9iaW9tYXJrZXJzLnJhbmsuZGYgPC0gZmxhdHRlbkNvcnJNYXRyaXgoY29ycl9iaW9tYXJrZXJzLnJhbmssIGNvcnJfYmlvbWFya2Vyc19wLnJhbmspCgoKbmFtZXMoY29ycl9iaW9tYXJrZXJzLnJhbmsuZGYpW25hbWVzKGNvcnJfYmlvbWFya2Vycy5yYW5rLmRmKSA9PSAicm93Il0gPC0gIkN5dG9raW5lX1giCm5hbWVzKGNvcnJfYmlvbWFya2Vycy5yYW5rLmRmKVtuYW1lcyhjb3JyX2Jpb21hcmtlcnMucmFuay5kZikgPT0gImNvbHVtbiJdIDwtICJDeXRva2luZVkiCm5hbWVzKGNvcnJfYmlvbWFya2Vycy5yYW5rLmRmKVtuYW1lcyhjb3JyX2Jpb21hcmtlcnMucmFuay5kZikgPT0gImNvciJdIDwtICJTcGVhcm1hblJobyIKCkRUOjpkYXRhdGFibGUoY29ycl9iaW9tYXJrZXJzLnJhbmsuZGYpCgpmd3JpdGUoY29ycl9iaW9tYXJrZXJzLnJhbmsuZGYsIGZpbGUgPSBwYXN0ZTAoT1VUX2xvYywgIi8iLFRvZGF5LCIuY29ycmVsYXRpb25fY3l0b2tpbmVzLnR4dCIpKQoKYGBgCgpgYGB7ciBNQ1AxIHZzIEN5dG9raW5lcyBoZWF0bWFwfQojIEFkZCBjb3JyZWxhdGlvbiBjb2VmZmljaWVudHMKIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIGFyZ3VtZW50IGxhYiA9IFRSVUUKcDEgPC0gZ2djb3JycGxvdChjb3JyX2Jpb21hcmtlcnMucmFuaywgCiAgICAgICAgICAgbWV0aG9kID0gInNxdWFyZSIsIAogICAgICAgICAgIHR5cGUgPSAibG93ZXIiLAogICAgICAgICAgIHRpdGxlID0gIkNyb3NzIGJpb21hcmtlciBjb3JyZWxhdGlvbnMiLCAKICAgICAgICAgICBzaG93LmxlZ2VuZCA9IFRSVUUsIGxlZ2VuZC50aXRsZSA9IGJxdW90ZSgiU3BlYXJtYW4ncyJ+aXRhbGljKHJobykpLAogICAgICAgICAgIGdndGhlbWUgPSBnZ3Bsb3QyOjp0aGVtZV9taW5pbWFsLCBvdXRsaW5lLmNvbG9yID0gIiNGRkZGRkYiLAogICAgICAgICAgIHNob3cuZGlhZyA9IFRSVUUsCiAgICAgICAgICAgaGMub3JkZXIgPSBGQUxTRSwgCiAgICAgICAgICAgbGFiID0gRkFMU0UsCiAgICAgICAgICAgZGlnaXRzID0gMywKICAgICAgICAgICB0bC5jZXggPSA2LAogICAgICAgICAgICMgeGxhYiA9IGMoIk1DUDEiKSwKICAgICAgICAgICAjIHAubWF0ID0gY29ycl9iaW9tYXJrZXJzX3AucmFuaywgc2lnLmxldmVsID0gMC4wNSwKICAgICAgICAgICBjb2xvcnMgPSBjKCIjMTI5MEQ5IiwgIiNGRkZGRkYiLCAiI0U1NTczOCIpKQpwMQpnZ3NhdmUoZmlsZW5hbWUgPSBwYXN0ZTAoUExPVF9sb2MsICIvIiwgVG9kYXksICIuY29ycmVsYXRpb25fY3l0b2tpbmVzLnBuZyIpLCBwbG90ID0gbGFzdF9wbG90KCkpCmdnc2F2ZShmaWxlbmFtZSA9IHBhc3RlMChQTE9UX2xvYywgIi8iLCBUb2RheSwgIi5jb3JyZWxhdGlvbl9jeXRva2luZXMucGRmIiksIHBsb3QgPSBsYXN0X3Bsb3QoKSkKCnJtKHAxKQoKYGBgCgpXaGlsZSB2aXN1YWxseSBhY3RyYWN0aXZlIHdlIGFyZSBub3QgbmVjZXNzYXJpbHkgaW50ZXJlc3RlZCBpbiB0aGUgY29ycmVsYXRpb25zIGJldHdlZW4gYWxsIHRoZSBjeXRva2luZXMsIHJhdGhlciBvZiBNQ1AxIHdpdGggb3RoZXIgY3l0b2tpbmVzIG9ubHkuCgpgYGB7ciBNQ1AxIHZzIEN5dG9raW5lcyBiYXJwbG90fQp0ZW1wIDwtIHN1YnNldChjb3JyX2Jpb21hcmtlcnMucmFuay5kZiwgQ3l0b2tpbmVfWCA9PSAiTUNQMSAoTCwgZXhwMiwgcGcvdWcpIiApCnRlbXAkcF9sb2cxMCA8LSAtbG9nMTAodGVtcCRwKQpwX3RocmVzaG9sZCA8LSAtbG9nMTAoMC4wNS8yOSkKcF90aHJlc2hvbGQKcDEgPC0gZ2diYXJwbG90KHRlbXAsIHggPSAiQ3l0b2tpbmVZIiwgeSA9ICJTcGVhcm1hblJobyIsCiAgICAgICAgICBmaWxsID0gIkN5dG9raW5lWSIsICAgICAgICAgICAgICAgIyBjaGFuZ2UgZmlsbCBjb2xvciBieSBjeWwKICAgICAgICAgICMgY29sb3IgPSAid2hpdGUiLCAgICAgICAgICAgICMgU2V0IGJhciBib3JkZXIgY29sb3JzIHRvIHdoaXRlCiAgICAgICAgICBwYWxldHRlID0gdWl0aG9mX2NvbG9yLCAgICAgICAgICAgICMgamNvIGpvdXJuYWwgY29sb3IgcGFsZXR0LiBzZWUgP2dncGFyCiAgICAgICAgICB4bGFiID0gIkN5dG9raW5lIiwKICAgICAgICAgIHlsYWIgPSBleHByZXNzaW9uKCJTcGVhcm1hbidzIn5pdGFsaWMocmhvKSksCiAgICAgICAgICBzb3J0LnZhbCA9ICJkZXNjIiwgICAgICAgICAgIyBTb3J0IHRoZSB2YWx1ZSBpbiBkc2NlbmRpbmcgb3JkZXIKICAgICAgICAgIHNvcnQuYnkuZ3JvdXBzID0gRkFMU0UsICAgICAjIERvbid0IHNvcnQgaW5zaWRlIGVhY2ggZ3JvdXAKICAgICAgICAgIHgudGV4dC5hbmdsZSA9IDQ1LCAjIFJvdGF0ZSB2ZXJ0aWNhbGx5IHggYXhpcyB0ZXh0cwogICAgICAgICAgY2V4ID0gMC44CiAgICAgICAgICApCmdncGFyKHAxLCBsZWdlbmQgPSAiYm90dG9tIiwgCiAgICAgIGxlZ2VuZC50aXRsZSA9ICIiKSArCiAgdGhlbWUoYXhpcy50ZXh0LnggPSBlbGVtZW50X3RleHQoc2l6ZSA9IDkpLAogICAgICAgIGF4aXMudGV4dC55ID0gZWxlbWVudF90ZXh0KHNpemUgPSA5KSkgCgpnZ3NhdmUoZmlsZSA9IHBhc3RlMChQTE9UX2xvYywgIi8iLFRvZGF5LCIuQUVEQi5DRUEuTUNQMS5wbGFxdWUuYmFycGxvdF9wZ3VnLk1DUDFfdnNfQ3l0b2tpbmVzLnBuZyIpLCBwbG90ID0gbGFzdF9wbG90KCkpCmdnc2F2ZShmaWxlID0gcGFzdGUwKFBMT1RfbG9jLCAiLyIsVG9kYXksIi5BRURCLkNFQS5NQ1AxLnBsYXF1ZS5iYXJwbG90X3BndWcuTUNQMV92c19DeXRva2luZXMucGRmIiksIHBsb3QgPSBsYXN0X3Bsb3QoKSkKcm0ocDEpCgp0ZW1wIDwtIHN1YnNldChjb3JyX2Jpb21hcmtlcnMucmFuay5kZiwgQ3l0b2tpbmVfWCA9PSAiTUNQMSAoTCwgZXhwMiwgcGcvbUwpIiApCnRlbXAkcF9sb2cxMCA8LSAtbG9nMTAodGVtcCRwKQpwX3RocmVzaG9sZCA8LSAtbG9nMTAoMC4wNS8yOSkKcF90aHJlc2hvbGQKcDEgPC0gZ2diYXJwbG90KHRlbXAsIHggPSAiQ3l0b2tpbmVZIiwgeSA9ICJTcGVhcm1hblJobyIsCiAgICAgICAgICBmaWxsID0gIkN5dG9raW5lWSIsICAgICAgICAgICAgICAgIyBjaGFuZ2UgZmlsbCBjb2xvciBieSBjeWwKICAgICAgICAgICMgY29sb3IgPSAid2hpdGUiLCAgICAgICAgICAgICMgU2V0IGJhciBib3JkZXIgY29sb3JzIHRvIHdoaXRlCiAgICAgICAgICBwYWxldHRlID0gdWl0aG9mX2NvbG9yLCAgICAgICAgICAgICMgamNvIGpvdXJuYWwgY29sb3IgcGFsZXR0LiBzZWUgP2dncGFyCiAgICAgICAgICB4bGFiID0gIkN5dG9raW5lIiwKICAgICAgICAgIHlsYWIgPSBleHByZXNzaW9uKCJTcGVhcm1hbidzIn5pdGFsaWMocmhvKSksCiAgICAgICAgICBzb3J0LnZhbCA9ICJkZXNjIiwgICAgICAgICAgIyBTb3J0IHRoZSB2YWx1ZSBpbiBkc2NlbmRpbmcgb3JkZXIKICAgICAgICAgIHNvcnQuYnkuZ3JvdXBzID0gRkFMU0UsICAgICAjIERvbid0IHNvcnQgaW5zaWRlIGVhY2ggZ3JvdXAKICAgICAgICAgIHgudGV4dC5hbmdsZSA9IDQ1LCAjIFJvdGF0ZSB2ZXJ0aWNhbGx5IHggYXhpcyB0ZXh0cwogICAgICAgICAgY2V4ID0gMC44CiAgICAgICAgICApCmdncGFyKHAxLCBsZWdlbmQgPSAiYm90dG9tIiwgCiAgICAgIGxlZ2VuZC50aXRsZSA9ICIiKSArCiAgdGhlbWUoYXhpcy50ZXh0LnggPSBlbGVtZW50X3RleHQoc2l6ZSA9IDkpLAogICAgICAgIGF4aXMudGV4dC55ID0gZWxlbWVudF90ZXh0KHNpemUgPSA5KSkgCgpnZ3NhdmUoZmlsZSA9IHBhc3RlMChQTE9UX2xvYywgIi8iLFRvZGF5LCIuQUVEQi5DRUEuTUNQMS5wbGFxdWUuYmFycGxvdF9wZ21MLk1DUDFfdnNfQ3l0b2tpbmVzLnBuZyIpLCBwbG90ID0gbGFzdF9wbG90KCkpCmdnc2F2ZShmaWxlID0gcGFzdGUwKFBMT1RfbG9jLCAiLyIsVG9kYXksIi5BRURCLkNFQS5NQ1AxLnBsYXF1ZS5iYXJwbG90X3BnbUwuTUNQMV92c19DeXRva2luZXMucGRmIiksIHBsb3QgPSBsYXN0X3Bsb3QoKSkKCnJtKHAxKQoKYGBgCgpBbm90aGVyIHZlcnNpb24gLSBwcm9ibGFibHkgbm90IGdvb2QuIApgYGB7ciBNQ1AxIHZzIEN5dG9raW5lcyBkb3RjaGFydH0KCnAxIDwtIGdnZG90Y2hhcnQodGVtcCwgeCA9ICJDeXRva2luZVkiLCB5ID0gInBfbG9nMTAiLAogICAgICAgICAgIGNvbG9yID0gIkN5dG9raW5lWSIsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIENvbG9yIGJ5IGdyb3VwcwogICAgICAgICAgIHBhbGV0dGUgPSB1aXRob2ZfY29sb3IsICMgQ3VzdG9tIGNvbG9yIHBhbGV0dGUKICAgICAgICAgICB4bGFiID0gIkN5dG9raW5lIiwKICAgICAgICAgICB5bGFiID0gZXhwcmVzc2lvbihsb2dbMTBdfiIoIn5pdGFsaWMocCl+IiktdmFsdWUiKSwKICAgICAgICAgICB5bGltID0gYygwLCA2KSwKICAgICAgICAgICBzb3J0aW5nID0gImRlc2NlbmRpbmciLCAgICAgICAgICAgICAgICAgICAgICAgIyBTb3J0IHZhbHVlIGluIGRlc2NlbmRpbmcgb3JkZXIKICAgICAgICAgICBhZGQgPSAic2VnbWVudHMiLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBBZGQgc2VnbWVudHMgZnJvbSB5ID0gMCB0byBkb3RzCiAgICAgICAgICAgcm90YXRlID0gRkFMU0UsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIFJvdGF0ZSB2ZXJ0aWNhbGx5CiAgICAgICAgICAgIyBncm91cCA9ICJDeXRva2luZVkiLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBPcmRlciBieSBncm91cHMKICAgICAgICAgICBkb3Quc2l6ZSA9IDgsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBMYXJnZSBkb3Qgc2l6ZQogICAgICAgICAgIGxhYmVsID0gcm91bmQodGVtcCRTcGVhcm1hblJobywgZGlnaXRzID0gMyksICAgICAgICAgICAgICAgICAgICAgICAgIyBBZGQgbXBnIHZhbHVlcyBhcyBkb3QgbGFiZWxzCiAgICAgICAgICAgZm9udC5sYWJlbCA9IGxpc3QoY29sb3IgPSAid2hpdGUiLCBzaXplID0gOCwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmp1c3QgPSAwLjUpICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICkKZ2dwYXIocDEsIGxlZ2VuZCA9ICJib3R0b20iLCAKICAgICAgbGVnZW5kLnRpdGxlID0gIiIpICsKICB0aGVtZShheGlzLnRleHQueCA9IGVsZW1lbnRfdGV4dChzaXplID0gOSksCiAgICAgICAgYXhpcy50ZXh0LnkgPSBlbGVtZW50X3RleHQoc2l6ZSA9IDkpKQoKZ2dzYXZlKGZpbGUgPSBwYXN0ZTAoUExPVF9sb2MsICIvIixUb2RheSwiLkFFREIuQ0VBLk1DUDEucGxhcXVlLmRvdGNoYXJ0Lk1DUDFfdnNfQ3l0b2tpbmVzLnBuZyIpLCBwbG90ID0gbGFzdF9wbG90KCkpCmdnc2F2ZShmaWxlID0gcGFzdGUwKFBMT1RfbG9jLCAiLyIsVG9kYXksIi5BRURCLkNFQS5NQ1AxLnBsYXF1ZS5kb3RjaGFydC5NQ1AxX3ZzX0N5dG9raW5lcy5wZGYiKSwgcGxvdCA9IGxhc3RfcGxvdCgpKQoKcm0odGVtcCwgcDEpCgpgYGAKCgojIyBNQ1AxIHZzLiBjeXRva2luZXMgcGxhcXVlIGxldmVscyBgbG0oKWAKCiMjIyBNb2RlbCAxCgpJbiB0aGlzIG1vZGVsIHdlIGNvcnJlY3QgZm9yIF9BZ2VfLCBfR2VuZGVyXywgYW5kIF95ZWFyIG9mIHN1cmdlcnlfLgoKSGVyZSB3ZSB1c2UgdGhlIGludmVyc2UtcmFuayBub3JtYWxpemVkIGRhdGEgLSB2aXN1YWxseSB0aGlzIGlzIG1vcmUgbm9ybWFsbHkgZGlzdHJpYnV0ZWQuCgpBbmFseXNpcyBvZiBwbGFxdWUgY3l0b2tpbmVzIHRyYWl0cyBhcyBhIGZ1bmN0aW9uIG9mIHBsYXNtYS9wbGFxdWUgTUNQMSBsZXZlbHMuCmBgYHtyIENyb3NzU2VjOiBDeXRva2luZXMgLSBsaW5lYXIgcmVncmVzc2lvbiBNT0RFTDEgUkFOSywgaW5jbHVkZT1UUlVFLCBwYWdlZC5wcmludD1UUlVFfQoKR0xNLnJlc3VsdHMgPC0gZGF0YS5mcmFtZShtYXRyaXgoTkEsIG5jb2wgPSAxNSwgbnJvdyA9IDApKQpjYXQoIlJ1bm5pbmcgbGluZWFyIHJlZ3Jlc3Npb24uLi5cbiIpCmZvciAocHJvdGVpbiBpbiAxOmxlbmd0aChUUkFJVFMuUFJPVEVJTi5SQU5LKSkgewogIFBST1RFSU4gPSBUUkFJVFMuUFJPVEVJTi5SQU5LW3Byb3RlaW5dCiAgY2F0KHBhc3RlMCgiXG5BbmFseXNpcyBvZiAiLFBST1RFSU4sIi5cbiIpKQogIGZvciAodHJhaXQgaW4gMTpsZW5ndGgocHJvdGVpbnNfb2ZfaW50ZXJlc3RfcmFuaykpIHsKICAgIFRSQUlUID0gcHJvdGVpbnNfb2ZfaW50ZXJlc3RfcmFua1t0cmFpdF0KICAgIGNhdChwYXN0ZTAoIlxuLSBwcm9jZXNzaW5nICIsVFJBSVQsIlxuXG4iKSkKICAgIGN1cnJlbnRERiA8LSBhcy5kYXRhLmZyYW1lKEFFREIuQ0VBICU+JQogICAgICBkcGx5cjo6c2VsZWN0KC4sIFBST1RFSU4sIFRSQUlULCBDT1ZBUklBVEVTX00xKSAlPiUKICAgICAgZmlsdGVyKGNvbXBsZXRlLmNhc2VzKC4pKSkgJT4lCiAgICAgIGZpbHRlcl9pZih+aXMubnVtZXJpYyguKSwgYWxsX3ZhcnMoIWlzLmluZmluaXRlKC4pKSkKICAgICMgZm9yIGRlYnVnCiAgICAjIHByaW50KERUOjpkYXRhdGFibGUoY3VycmVudERGKSkKICAgICMgcHJpbnQobnJvdyhjdXJyZW50REYpKQogICAgIyBwcmludChzdHIoY3VycmVudERGKSkKICAgICMjIyB1bml2YXJpYXRlCiAgICBmaXQgPC0gbG0oY3VycmVudERGWyxQUk9URUlOXSB+IGN1cnJlbnRERlssVFJBSVRdICsgQWdlICsgR2VuZGVyICsgT1JkYXRlX3llYXIsIGRhdGEgPSBjdXJyZW50REYpCiAgICBtb2RlbF9zdGVwIDwtIHN0ZXBBSUMoZml0LCBkaXJlY3Rpb24gPSAiYm90aCIsIHRyYWNlID0gRkFMU0UpCiAgICBwcmludChtb2RlbF9zdGVwKQogICAgcHJpbnQoc3VtbWFyeShmaXQpKQoKICAgIEdMTS5yZXN1bHRzLlRFTVAgPC0gZGF0YS5mcmFtZShtYXRyaXgoTkEsIG5jb2wgPSAxNSwgbnJvdyA9IDApKQogICAgR0xNLnJlc3VsdHMuVEVNUFsxLF0gPSBHTE0uQ09OKGZpdCwgIkFFREIuQ0VBIiwgUFJPVEVJTiwgVFJBSVQsIHZlcmJvc2UgPSBUUlVFKQogICAgR0xNLnJlc3VsdHMgPSByYmluZChHTE0ucmVzdWx0cywgR0xNLnJlc3VsdHMuVEVNUCkKICB9Cn0KY2F0KCJFZGl0IHRoZSBjb2x1bW4gbmFtZXMuLi5cbiIpCmNvbG5hbWVzKEdMTS5yZXN1bHRzKSA9IGMoIkRhdGFzZXQiLCAiUHJlZGljdG9yIiwgIlRyYWl0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAiQmV0YSIsICJzLmUubS4iLAogICAgICAgICAgICAgICAgICAgICAgICAgICJPUiIsICJsb3c5NUNJIiwgInVwOTVDSSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIlQtdmFsdWUiLCAiUC12YWx1ZSIsICJyXjIiLCAicl4yX2FkaiIsICJBRV9OIiwgIk1vZGVsX04iLCAiUGVyY19NaXNzIikKCmNhdCgiQ29ycmVjdCB0aGUgdmFyaWFibGUgdHlwZXMuLi5cbiIpCkdMTS5yZXN1bHRzJEJldGEgPC0gYXMubnVtZXJpYyhHTE0ucmVzdWx0cyRCZXRhKQpHTE0ucmVzdWx0cyRzLmUubS4gPC0gYXMubnVtZXJpYyhHTE0ucmVzdWx0cyRzLmUubS4pCkdMTS5yZXN1bHRzJE9SIDwtIGFzLm51bWVyaWMoR0xNLnJlc3VsdHMkT1IpCkdMTS5yZXN1bHRzJGxvdzk1Q0kgPC0gYXMubnVtZXJpYyhHTE0ucmVzdWx0cyRsb3c5NUNJKQpHTE0ucmVzdWx0cyR1cDk1Q0kgPC0gYXMubnVtZXJpYyhHTE0ucmVzdWx0cyR1cDk1Q0kpCkdMTS5yZXN1bHRzJGBULXZhbHVlYCA8LSBhcy5udW1lcmljKEdMTS5yZXN1bHRzJGBULXZhbHVlYCkKR0xNLnJlc3VsdHMkYFAtdmFsdWVgIDwtIGFzLm51bWVyaWMoR0xNLnJlc3VsdHMkYFAtdmFsdWVgKQpHTE0ucmVzdWx0cyRgcl4yYCA8LSBhcy5udW1lcmljKEdMTS5yZXN1bHRzJGByXjJgKQpHTE0ucmVzdWx0cyRgcl4yX2FkamAgPC0gYXMubnVtZXJpYyhHTE0ucmVzdWx0cyRgcl4yX2FkamApCkdMTS5yZXN1bHRzJGBBRV9OYCA8LSBhcy5udW1lcmljKEdMTS5yZXN1bHRzJGBBRV9OYCkKR0xNLnJlc3VsdHMkYE1vZGVsX05gIDwtIGFzLm51bWVyaWMoR0xNLnJlc3VsdHMkYE1vZGVsX05gKQpHTE0ucmVzdWx0cyRgUGVyY19NaXNzYCA8LSBhcy5udW1lcmljKEdMTS5yZXN1bHRzJGBQZXJjX01pc3NgKQoKYGBgCgpgYGB7ciBDcm9zc1NlYzogQ3l0b2tpbmVzIC0gbGluZWFyIHJlZ3Jlc3Npb24gTU9ERUwxIFJBTksgV3JpdGluZ30KRFQ6OmRhdGF0YWJsZShHTE0ucmVzdWx0cykKCiMgU2F2ZSB0aGUgZGF0YQpjYXQoIldyaXRpbmcgcmVzdWx0cyB0byBFeGNlbC1maWxlLi4uXG4iKQojIyMgVW5pdmFyaWF0ZQpsaWJyYXJ5KG9wZW54bHN4KQp3cml0ZS54bHN4KEdMTS5yZXN1bHRzLAogICAgICAgICAgIGZpbGUgPSBwYXN0ZTAoT1VUX2xvYywgIi8iLFRvZGF5LCIuQUVEQi5DRUEuQ29uLlVuaS5NQ1AxX1BsYXF1ZS5DeXRva2luZXNfUGxhcXVlcy5SQU5LLk1PREVMMS54bHN4IiksCiAgICAgICAgICAgcm93Lm5hbWVzID0gRkFMU0UsIGNvbC5uYW1lcyA9IFRSVUUsIHNoZWV0TmFtZSA9ICJDb24uVW5pLlBsYXF1ZVBoZW5vIikKIyBSZW1vdmluZyBpbnRlcm1lZGlhdGVzCmNhdCgiUmVtb3ZpbmcgaW50ZXJtZWRpYXRlIGZpbGVzLi4uXG4iKQpybShUUkFJVCwgdHJhaXQsIGN1cnJlbnRERiwgR0xNLnJlc3VsdHMsIEdMTS5yZXN1bHRzLlRFTVAsIGZpdCwgbW9kZWxfc3RlcCkKCgpgYGAKCgoKIyMjIE1vZGVsIDIKCkluIHRoaXMgbW9kZWwgd2UgY29ycmVjdCBmb3IgX0FnZV8sIF9HZW5kZXJfLCBfeWVhciBvZiBzdXJnZXJ5XywgX0h5cGVydGVuc2lvbiBzdGF0dXNfLCBfRGlhYmV0ZXMgc3RhdHVzXywgX2N1cnJlbnQgc21va2VyIHN0YXR1c18sIF9saXBpZC1sb3dlcmluZyBkcnVncyAoTExEcylfLCBfYW50aXBsYXRlbGV0IG1lZGljYXRpb25fLCBfZUdGUiAoTURSRClfLCBfQk1JXywgX01lZEh4X0NWRF8gKGNvbWJpbmF0aW9uIG9mIF9DQUQgaGlzdG9yeV8sIF9zdHJva2UgaGlzdG9yeV8sIGFuZCBfcGVyaXBoZXJhbCBpbnRlcnZlbnRpb25zXyksIGFuZCBfc3Rlbm9zaXNfLgoKSGVyZSB3ZSB1c2UgdGhlIGludmVyc2UtcmFuayBub3JtYWxpemVkIGRhdGEgLSB2aXN1YWxseSB0aGlzIGlzIG1vcmUgbm9ybWFsbHkgZGlzdHJpYnV0ZWQuCgpBbmFseXNpcyBvZiBwbGFxdWUgY3l0b2tpbmVzIGFzIGEgZnVuY3Rpb24gb2YgcGxhc21hL3BsYXF1ZSBNQ1AxIGxldmVscy4KYGBge3IgQ3Jvc3NTZWM6IEN5dG9raW5lcyAtIGxpbmVhciByZWdyZXNzaW9uIE1PREVMMiBSQU5LLCBpbmNsdWRlPVRSVUUsIHBhZ2VkLnByaW50PVRSVUV9CgpHTE0ucmVzdWx0cyA8LSBkYXRhLmZyYW1lKG1hdHJpeChOQSwgbmNvbCA9IDE1LCBucm93ID0gMCkpCmNhdCgiUnVubmluZyBsaW5lYXIgcmVncmVzc2lvbi4uLlxuIikKZm9yIChwcm90ZWluIGluIDE6bGVuZ3RoKFRSQUlUUy5QUk9URUlOLlJBTkspKSB7CiAgUFJPVEVJTiA9IFRSQUlUUy5QUk9URUlOLlJBTktbcHJvdGVpbl0KICBjYXQocGFzdGUwKCJcbkFuYWx5c2lzIG9mICIsUFJPVEVJTiwiLlxuIikpCiAgZm9yICh0cmFpdCBpbiAxOmxlbmd0aChwcm90ZWluc19vZl9pbnRlcmVzdF9yYW5rKSkgewogICAgVFJBSVQgPSBwcm90ZWluc19vZl9pbnRlcmVzdF9yYW5rW3RyYWl0XQogICAgY2F0KHBhc3RlMCgiXG4tIHByb2Nlc3NpbmcgIixUUkFJVCwiXG5cbiIpKQogICAgY3VycmVudERGIDwtIGFzLmRhdGEuZnJhbWUoQUVEQi5DRUEgJT4lCiAgICAgIGRwbHlyOjpzZWxlY3QoLiwgUFJPVEVJTiwgVFJBSVQsIENPVkFSSUFURVNfTTIpICU+JQogICAgICBmaWx0ZXIoY29tcGxldGUuY2FzZXMoLikpKSAlPiUKICAgICAgZmlsdGVyX2lmKH5pcy5udW1lcmljKC4pLCBhbGxfdmFycyghaXMuaW5maW5pdGUoLikpKQogICAgIyBmb3IgZGVidWcKICAgICMgcHJpbnQoRFQ6OmRhdGF0YWJsZShjdXJyZW50REYpKQogICAgIyBwcmludChucm93KGN1cnJlbnRERikpCiAgICAjIHByaW50KHN0cihjdXJyZW50REYpKQogICAgIyMjIHVuaXZhcmlhdGUKICAgIGZpdCA8LSBsbShjdXJyZW50REZbLFBST1RFSU5dIH4gY3VycmVudERGWyxUUkFJVF0gKyBBZ2UgKyBHZW5kZXIgKyBPUmRhdGVfeWVhciArIAogICAgICAgICAgICAgICAgSHlwZXJ0ZW5zaW9uLmNvbXBvc2l0ZSArIERpYWJldGVzU3RhdHVzICsgU21va2VyU3RhdHVzICsgCiAgICAgICAgICAgICAgICBNZWQuU3RhdGluLkxMRCArIE1lZC5hbGwuYW50aXBsYXRlbGV0ICsgR0ZSX01EUkQgKyBCTUkgKyAKICAgICAgICAgICAgICAgIE1lZEh4X0NWRCArIHN0ZW5vc2UsIAogICAgICAgICAgICAgIGRhdGEgPSBjdXJyZW50REYpCiAgICBtb2RlbF9zdGVwIDwtIHN0ZXBBSUMoZml0LCBkaXJlY3Rpb24gPSAiYm90aCIsIHRyYWNlID0gRkFMU0UpCiAgICBwcmludChtb2RlbF9zdGVwKQogICAgcHJpbnQoc3VtbWFyeShmaXQpKQogICAgCiAgICBHTE0ucmVzdWx0cy5URU1QIDwtIGRhdGEuZnJhbWUobWF0cml4KE5BLCBuY29sID0gMTUsIG5yb3cgPSAwKSkKICAgIEdMTS5yZXN1bHRzLlRFTVBbMSxdID0gR0xNLkNPTihmaXQsICJBRURCLkNFQSIsIFBST1RFSU4sIFRSQUlULCB2ZXJib3NlID0gVFJVRSkKICAgIEdMTS5yZXN1bHRzID0gcmJpbmQoR0xNLnJlc3VsdHMsIEdMTS5yZXN1bHRzLlRFTVApCiAgfQp9CmNhdCgiRWRpdCB0aGUgY29sdW1uIG5hbWVzLi4uXG4iKQpjb2xuYW1lcyhHTE0ucmVzdWx0cykgPSBjKCJEYXRhc2V0IiwgIlByZWRpY3RvciIsICJUcmFpdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIkJldGEiLCAicy5lLm0uIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAiT1IiLCAibG93OTVDSSIsICJ1cDk1Q0kiLAogICAgICAgICAgICAgICAgICAgICAgICAgICJULXZhbHVlIiwgIlAtdmFsdWUiLCAicl4yIiwgInJeMl9hZGoiLCAiQUVfTiIsICJNb2RlbF9OIiwgIlBlcmNfTWlzcyIpCgpjYXQoIkNvcnJlY3QgdGhlIHZhcmlhYmxlIHR5cGVzLi4uXG4iKQpHTE0ucmVzdWx0cyRCZXRhIDwtIGFzLm51bWVyaWMoR0xNLnJlc3VsdHMkQmV0YSkKR0xNLnJlc3VsdHMkcy5lLm0uIDwtIGFzLm51bWVyaWMoR0xNLnJlc3VsdHMkcy5lLm0uKQpHTE0ucmVzdWx0cyRPUiA8LSBhcy5udW1lcmljKEdMTS5yZXN1bHRzJE9SKQpHTE0ucmVzdWx0cyRsb3c5NUNJIDwtIGFzLm51bWVyaWMoR0xNLnJlc3VsdHMkbG93OTVDSSkKR0xNLnJlc3VsdHMkdXA5NUNJIDwtIGFzLm51bWVyaWMoR0xNLnJlc3VsdHMkdXA5NUNJKQpHTE0ucmVzdWx0cyRgVC12YWx1ZWAgPC0gYXMubnVtZXJpYyhHTE0ucmVzdWx0cyRgVC12YWx1ZWApCkdMTS5yZXN1bHRzJGBQLXZhbHVlYCA8LSBhcy5udW1lcmljKEdMTS5yZXN1bHRzJGBQLXZhbHVlYCkKR0xNLnJlc3VsdHMkYHJeMmAgPC0gYXMubnVtZXJpYyhHTE0ucmVzdWx0cyRgcl4yYCkKR0xNLnJlc3VsdHMkYHJeMl9hZGpgIDwtIGFzLm51bWVyaWMoR0xNLnJlc3VsdHMkYHJeMl9hZGpgKQpHTE0ucmVzdWx0cyRgQUVfTmAgPC0gYXMubnVtZXJpYyhHTE0ucmVzdWx0cyRgQUVfTmApCkdMTS5yZXN1bHRzJGBNb2RlbF9OYCA8LSBhcy5udW1lcmljKEdMTS5yZXN1bHRzJGBNb2RlbF9OYCkKR0xNLnJlc3VsdHMkYFBlcmNfTWlzc2AgPC0gYXMubnVtZXJpYyhHTE0ucmVzdWx0cyRgUGVyY19NaXNzYCkKCmBgYAoKYGBge3IgQ3Jvc3NTZWM6IEN5dG9raW5lcyAtIGxpbmVhciByZWdyZXNzaW9uIE1PREVMMiBSQU5LLCB3cml0aW5nfQpEVDo6ZGF0YXRhYmxlKEdMTS5yZXN1bHRzKQoKIyBTYXZlIHRoZSBkYXRhCmNhdCgiV3JpdGluZyByZXN1bHRzIHRvIEV4Y2VsLWZpbGUuLi5cbiIpCiMjIyBVbml2YXJpYXRlCmxpYnJhcnkob3Blbnhsc3gpCndyaXRlLnhsc3goR0xNLnJlc3VsdHMsCiAgICAgICAgICAgZmlsZSA9IHBhc3RlMChPVVRfbG9jLCAiLyIsVG9kYXksIi5BRURCLkNFQS5Db24uTXVsdGkuTUNQMV9QbGFxdWUuQ3l0b2tpbmVzX1BsYXF1ZXMuUkFOSy5NT0RFTDIueGxzeCIpLAogICAgICAgICAgIHJvdy5uYW1lcyA9IEZBTFNFLCBjb2wubmFtZXMgPSBUUlVFLCBzaGVldE5hbWUgPSAiQ29uLk11bHRpLlBsYXF1ZVBoZW5vIikKIyBSZW1vdmluZyBpbnRlcm1lZGlhdGVzCmNhdCgiUmVtb3ZpbmcgaW50ZXJtZWRpYXRlIGZpbGVzLi4uXG4iKQpybShUUkFJVCwgdHJhaXQsIGN1cnJlbnRERiwgR0xNLnJlc3VsdHMsIEdMTS5yZXN1bHRzLlRFTVAsIGZpdCwgbW9kZWxfc3RlcCkKCgpgYGAKCiMjIE1DUDEgbGV2ZWxzIHZzLiB2dWxuZXJhYmlsaXR5IGluZGV4CgpIZXJlIHdlIGNhbGN1bGF0ZSB0aGUgcGxhcXVlIGluc3RhYmlsaXR5L3Z1bG5lcmFiaWxpdHkgaW5kZXggYW5kIHZpc3VhbGl6ZSB0aGUgTUNQMSBsZXZlbHMgaW4gcGxhcXVlIGFuZCBwbGFzbWEuCgpgYGB7ciBQbGFxdWUgVnVsbmVyYWJpbGl0eX0KIyBQbGFxdWUgdnVsbmVyYWJpbGl0eQoKdGFibGUoQUVEQi5DRUEkTWFjcm9waGFnZXMuYmluKQp0YWJsZShBRURCLkNFQSRGYXQuYmluXzEwKQp0YWJsZShBRURCLkNFQSRDb2xsYWdlbi5iaW4pCnRhYmxlKEFFREIuQ0VBJFNNQy5iaW4pCnRhYmxlKEFFREIuQ0VBJElQSC5iaW4pCgojIFNQU1MgY29kZQoKIyAKIyAqKiogc3ludGF4LSBQbGFxdWUgdnVsbmVyYWJpbGl0eSoqLgojIENPTVBVVEUgTWFjcm9faW5zdGFiID0gLTk5OS4KIyBJRiBtYWNyb3BoYWdlcy5iaW49MiBNYWNyb19pbnN0YWI9MS4KIyBJRiBtYWNyb3BoYWdlcy5iaW49MSBNYWNyb19pbnN0YWI9MC4KIyBFWEVDVVRFLgojIAojIENPTVBVVEUgRmF0MTBfaW5zdGFiID0gLTk5OS4KIyBJRiBGYXQuYmluXzEwPTIgRmF0MTBfaW5zdGFiPTEuCiMgSUYgRmF0LmJpbl8xMD0xIEZhdDEwX2luc3RhYj0wLgojIEVYRUNVVEUuCiMgCiMgQ09NUFVURSBjb2xsX2luc3RhYj0tOTk5LgojIElGIENvbGxhZ2VuLmJpbj0yIGNvbGxfaW5zdGFiPTAuCiMgSUYgQ29sbGFnZW4uYmluPTEgY29sbF9pbnN0YWI9MS4KIyBFWEVDVVRFLgojIAojIAojIENPTVBVVEUgU01DX2luc3RhYj0tOTk5LgojIElGIFNNQy5iaW49MiBTTUNfaW5zdGFiPTAuCiMgSUYgU01DLmJpbj0xIFNNQ19pbnN0YWI9MS4KIyBFWEVDVVRFLgojIAojIENPTVBVVEUgSVBIX2luc3RhYj0tOTk5LgojIElGIElQSC5iaW49MCBJUEhfaW5zdGFiPTAuCiMgSUYgSVBILmJpbj0xIElQSF9pbnN0YWI9MS4KIyBFWEVDVVRFLgojIAojIENPTVBVVEUgSW5zdGFiaWxpdHk9TWFjcm9faW5zdGFiICsgRmF0MTBfaW5zdGFiICsgIGNvbGxfaW5zdGFiICsgU01DX2luc3RhYiArIElQSF9pbnN0YWIuCiMgRVhFQ1VURS4KCiMgRml4IHBsYXF1ZXBoZW5vdHlwZXMKYXR0YWNoKEFFREIuQ0VBKQojIG1hYyBpbnN0YWJpbGl0eQpBRURCLkNFQVssIk1BQ19JbnN0YWJpbGl0eSJdIDwtIE5BCkFFREIuQ0VBJE1BQ19JbnN0YWJpbGl0eVtNYWNyb3BoYWdlcy5iaW4gPT0gLTk5OV0gPC0gTkEKQUVEQi5DRUEkTUFDX0luc3RhYmlsaXR5W01hY3JvcGhhZ2VzLmJpbiA9PSAibm8vbWlub3IiXSA8LSAwCkFFREIuQ0VBJE1BQ19JbnN0YWJpbGl0eVtNYWNyb3BoYWdlcy5iaW4gPT0gIm1vZGVyYXRlL2hlYXZ5Il0gPC0gMQoKIyBmYXQgaW5zdGFiaWxpdHkKQUVEQi5DRUFbLCJGQVQxMF9JbnN0YWJpbGl0eSJdIDwtIE5BCkFFREIuQ0VBJEZBVDEwX0luc3RhYmlsaXR5W0ZhdC5iaW5fMTAgPT0gLTk5OV0gPC0gTkEKQUVEQi5DRUEkRkFUMTBfSW5zdGFiaWxpdHlbRmF0LmJpbl8xMCA9PSAiIDwxMCUiXSA8LSAwCkFFREIuQ0VBJEZBVDEwX0luc3RhYmlsaXR5W0ZhdC5iaW5fMTAgPT0gIiA+MTAlIl0gPC0gMQoKIyBjb2wgaW5zdGFiaWxpdHkgCkFFREIuQ0VBWywiQ09MX0luc3RhYmlsaXR5Il0gPC0gTkEKQUVEQi5DRUEkQ09MX0luc3RhYmlsaXR5W0NvbGxhZ2VuLmJpbiA9PSAtOTk5XSA8LSBOQQpBRURCLkNFQSRDT0xfSW5zdGFiaWxpdHlbQ29sbGFnZW4uYmluID09ICJuby9taW5vciJdIDwtIDEKQUVEQi5DRUEkQ09MX0luc3RhYmlsaXR5W0NvbGxhZ2VuLmJpbiA9PSAibW9kZXJhdGUvaGVhdnkiXSA8LSAwCgojIHNtYyBpbnN0YWJpbGl0eQpBRURCLkNFQVssIlNNQ19JbnN0YWJpbGl0eSJdIDwtIE5BCkFFREIuQ0VBJFNNQ19JbnN0YWJpbGl0eVtTTUMuYmluID09IC05OTldIDwtIE5BCkFFREIuQ0VBJFNNQ19JbnN0YWJpbGl0eVtTTUMuYmluID09ICJuby9taW5vciJdIDwtIDEKQUVEQi5DRUEkU01DX0luc3RhYmlsaXR5W1NNQy5iaW4gPT0gIm1vZGVyYXRlL2hlYXZ5Il0gPC0gMAoKIyBpcGggaW5zdGFiaWxpdHkKQUVEQi5DRUFbLCJJUEhfSW5zdGFiaWxpdHkiXSA8LSBOQQpBRURCLkNFQSRJUEhfSW5zdGFiaWxpdHlbSVBILmJpbiA9PSAtOTk5XSA8LSBOQQpBRURCLkNFQSRJUEhfSW5zdGFiaWxpdHlbSVBILmJpbiA9PSAibm8iXSA8LSAwCkFFREIuQ0VBJElQSF9JbnN0YWJpbGl0eVtJUEguYmluID09ICJ5ZXMiXSA8LSAxCgpkZXRhY2goQUVEQi5DRUEpCgp0YWJsZShBRURCLkNFQSRNQUNfSW5zdGFiaWxpdHksIHVzZU5BID0gImlmYW55IikKdGFibGUoQUVEQi5DRUEkRkFUMTBfSW5zdGFiaWxpdHksIHVzZU5BID0gImlmYW55IikKdGFibGUoQUVEQi5DRUEkQ09MX0luc3RhYmlsaXR5LCB1c2VOQSA9ICJpZmFueSIpCnRhYmxlKEFFREIuQ0VBJFNNQ19JbnN0YWJpbGl0eSwgdXNlTkEgPSAiaWZhbnkiKQp0YWJsZShBRURCLkNFQSRJUEhfSW5zdGFiaWxpdHksIHVzZU5BID0gImlmYW55IikKCiMgY3JlYXRpbmcgdnVsbmVyYWJpbGl0eSBpbmRleApBRURCLkNFQSA8LSBBRURCLkNFQSAlPiUgbXV0YXRlKFBsYXF1ZV9WdWxuZXJhYmlsaXR5X0luZGV4ID0gZmFjdG9yKHJvd1N1bXMoLltncmVwKCJfSW5zdGFiaWxpdHkiLCBuYW1lcyguKSldLCBuYS5ybSA9IFRSVUUpKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgp0YWJsZShBRURCLkNFQSRQbGFxdWVfVnVsbmVyYWJpbGl0eV9JbmRleCwgdXNlTkEgPSAiaWZhbnkiKQoKIyBzdHIoQUVEQi5DRUEkUGxhcXVlX1Z1bG5lcmFiaWxpdHlfSW5kZXgpCgpgYGAKCkhlcmUgd2UgcGxvdCB0aGUgbGV2ZWxzIG9mIGludmVyc2UtcmFuayBub3JtYWwgdHJhbnNmb3JtZWQgYE1DUDFgIHBsYXF1ZSBsZXZlbHMgZnJvbSBleHBlcmltZW50IDEgYW5kIDIgdG8gdGhlIGBQbGFxdWUgdnVsbmVyYWJpbGl0eSBpbmRleGAuIApgYGB7ciBGaXggT1J5ZWFyR3JvdXB9CmxpYnJhcnkoc2psYWJlbGxlZCkKCmF0dGFjaChBRURCLkNFQSkKQUVEQi5DRUEkeWVhcnRlbXAgPC0gYXMubnVtZXJpYyh5ZWFyKEFFREIuQ0VBJGRhdGVvaykpCkFFREIuQ0VBWywiT1J5ZWFyR3JvdXAiXSA8LSBOQQpBRURCLkNFQSRPUnllYXJHcm91cFt5ZWFydGVtcCA8PSAyMDA3XSA8LSAiPCAyMDA3IgpBRURCLkNFQSRPUnllYXJHcm91cFt5ZWFydGVtcCA+IDIwMDddIDwtICI+IDIwMDciCmRldGFjaChBRURCLkNFQSkKCnRhYmxlKEFFREIuQ0VBJE9SeWVhckdyb3VwLCBBRURCLkNFQSRPUmRhdGVfeWVhcikKYGBgCgojIyMgTUNQMSBwbGFxdWUgbGV2ZWxzIHZzLiBwbGFxdWUgdnVsbmVyYWJpbGl0eSBpbmRleAoKYGBge3IgTUNQMSBwZXIgUGxhcXVlVnVsbmVyYWJpbGl0eUluZGV4fQojIEdsb2JhbCB0ZXN0CiMgY29tcGFyZV9tZWFucyhNQ1AxX3BnX3VnXzIwMTVfcmFuayB+IEdlbmRlciwgIGRhdGEgPSBBRURCLkNFQSwgbWV0aG9kID0gIndpbGNveC50ZXN0IikKcDEgPC0gZ2dwdWJyOjpnZ2JveHBsb3QoQUVEQi5DRUEsIAogICAgICAgICAgICAgICAgICB4ID0gIlBsYXF1ZV9WdWxuZXJhYmlsaXR5X0luZGV4IiwKICAgICAgICAgICAgICAgICAgeSA9ICJNQ1AxX3BnX3VnXzIwMTVfcmFuayIsIAogICAgICAgICAgICAgICAgICB4bGFiID0gIlBsYXF1ZSB2dWxuZXJhYmlsaXR5IGluZGV4IiwKICAgICAgICAgICAgICAgICAgeWxhYiA9ICJNQ1AxIHBsYXF1ZSBbcGcvdWddXG4oSU5ULCBleHAgMikiLAogICAgICAgICAgICAgICAgICBjb2xvciA9ICJQbGFxdWVfVnVsbmVyYWJpbGl0eV9JbmRleCIsCiAgICAgICAgICAgICAgICAgIHBhbGV0dGUgPSAibnBnIiwKICAgICAgICAgICAgICAgICAgYWRkID0gImppdHRlciIpICMrCiAgIyBzdGF0X2NvbXBhcmVfbWVhbnMobWV0aG9kID0gIndpbGNveC50ZXN0IikKZ2dwYXIocDEsIGxlZ2VuZCA9ICJib3R0b20iLCBsZWdlbmQudGl0bGUgPSAiUGxhcXVlIHZ1bG5lcmFiaWxpdHkgaW5kZXgiKQpnZ3NhdmUoZmlsZW5hbWUgPSBwYXN0ZTAoUExPVF9sb2MsICIvIiwgVG9kYXksICIuTUNQMS5wbGFxdWUuZXhwMl9wZ3VnLlBsYXF1ZVZ1bG5lcmFiaWxpdHlJbmRleC5wZGYiKSwgcGxvdCA9IGxhc3RfcGxvdCgpKQoKIyBjb21wYXJlX21lYW5zKE1DUDFfcGdfdWdfMjAxNV9yYW5rIH4gQWdlR3JvdXAsICBkYXRhID0gQUVEQi5DRUEsIG1ldGhvZCA9ICJrcnVza2FsLnRlc3QiKQpwMiA8LSBnZ3B1YnI6OmdnYm94cGxvdChBRURCLkNFQSwgCiAgICAgICAgICAgICAgICAgIHggPSAiUGxhcXVlX1Z1bG5lcmFiaWxpdHlfSW5kZXgiLAogICAgICAgICAgICAgICAgICB5ID0gIk1DUDFfcGdfbWxfMjAxNV9yYW5rIiwgCiAgICAgICAgICAgICAgICAgIHhsYWIgPSAiUGxhcXVlIHZ1bG5lcmFiaWxpdHkgaW5kZXgiLAogICAgICAgICAgICAgICAgICB5bGFiID0gIk1DUDEgcGxhcXVlIFtwZy9tTF1cbihJTlQsIGV4cCAyKSIsCiAgICAgICAgICAgICAgICAgIGNvbG9yID0gIlBsYXF1ZV9WdWxuZXJhYmlsaXR5X0luZGV4IiwKICAgICAgICAgICAgICAgICAgcGFsZXR0ZSA9ICJucGciLAogICAgICAgICAgICAgICAgICBhZGQgPSAiaml0dGVyIikgIysKICAjIHN0YXRfY29tcGFyZV9tZWFucyhtZXRob2QgPSAia3J1c2thbC50ZXN0IikKZ2dwYXIocDIsIGxlZ2VuZCA9ICJib3R0b20iLCBsZWdlbmQudGl0bGUgPSAiUGxhcXVlIHZ1bG5lcmFiaWxpdHkgaW5kZXgiKQpnZ3NhdmUoZmlsZW5hbWUgPSBwYXN0ZTAoUExPVF9sb2MsICIvIiwgVG9kYXksICIuTUNQMS5wbGFxdWUuZXhwMl9wZ21MLlBsYXF1ZVZ1bG5lcmFiaWxpdHlJbmRleC5wZGYiKSwgcGxvdCA9IGxhc3RfcGxvdCgpKQoKIyBjb21wYXJlX21lYW5zKE1DUDFfcGdfdWdfMjAxNV9yYW5rIH4gQWdlR3JvdXAsICBkYXRhID0gQUVEQi5DRUEsIG1ldGhvZCA9ICJrcnVza2FsLnRlc3QiKQpwMyA8LSBnZ3B1YnI6OmdnYm94cGxvdChBRURCLkNFQSwgCiAgICAgICAgICAgICAgICAgIHggPSAiUGxhcXVlX1Z1bG5lcmFiaWxpdHlfSW5kZXgiLAogICAgICAgICAgICAgICAgICB5ID0gIk1DUDFfcmFuayIsIAogICAgICAgICAgICAgICAgICB4bGFiID0gIlBsYXF1ZSB2dWxuZXJhYmlsaXR5IGluZGV4IiwKICAgICAgICAgICAgICAgICAgeWxhYiA9ICJNQ1AxIHBsYXF1ZSBbcGcvbUxdXG4oSU5ULCBleHAgMSkiLAogICAgICAgICAgICAgICAgICBjb2xvciA9ICJQbGFxdWVfVnVsbmVyYWJpbGl0eV9JbmRleCIsCiAgICAgICAgICAgICAgICAgIHBhbGV0dGUgPSAibnBnIiwKICAgICAgICAgICAgICAgICAgYWRkID0gImppdHRlciIpICMrCiAgIyBzdGF0X2NvbXBhcmVfbWVhbnMobWV0aG9kID0gImtydXNrYWwudGVzdCIpCmdncGFyKHAzLCBsZWdlbmQgPSAiYm90dG9tIiwgbGVnZW5kLnRpdGxlID0gIlBsYXF1ZSB2dWxuZXJhYmlsaXR5IGluZGV4IikKZ2dzYXZlKGZpbGVuYW1lID0gcGFzdGUwKFBMT1RfbG9jLCAiLyIsIFRvZGF5LCAiLk1DUDEucGxhcXVlLmV4cDFfcGdtTC5QbGFxdWVWdWxuZXJhYmlsaXR5SW5kZXgucGRmIiksIHBsb3QgPSBsYXN0X3Bsb3QoKSkKCnAxIDwtIGdncHVicjo6Z2dib3hwbG90KEFFREIuQ0VBLCAKICAgICAgICAgICAgICAgICAgeCA9ICJQbGFxdWVfVnVsbmVyYWJpbGl0eV9JbmRleCIsCiAgICAgICAgICAgICAgICAgIHkgPSAiTUNQMV9wZ191Z18yMDE1X3JhbmsiLCAKICAgICAgICAgICAgICAgICAgeGxhYiA9ICJQbGFxdWUgdnVsbmVyYWJpbGl0eSBpbmRleCIsCiAgICAgICAgICAgICAgICAgIHlsYWIgPSAiTUNQMSBwbGFxdWUgW3BnL3VnXVxuKElOVCwgZXhwIDIpIiwKICAgICAgICAgICAgICAgICAgY29sb3IgPSAiUGxhcXVlX1Z1bG5lcmFiaWxpdHlfSW5kZXgiLAogICAgICAgICAgICAgICAgICBwYWxldHRlID0gIm5wZyIsCiAgICAgICAgICAgICAgICAgIGZhY2V0LmJ5ID0gIk9SeWVhckdyb3VwIiwKICAgICAgICAgICAgICAgICAgYWRkID0gImppdHRlciIpICMrCiAgIyBzdGF0X2NvbXBhcmVfbWVhbnMobWV0aG9kID0gIndpbGNveC50ZXN0IikKZ2dwYXIocDEsIGxlZ2VuZCA9ICJib3R0b20iLCBsZWdlbmQudGl0bGUgPSAiUGxhcXVlIHZ1bG5lcmFiaWxpdHkgaW5kZXgiKQpnZ3NhdmUoZmlsZW5hbWUgPSBwYXN0ZTAoUExPVF9sb2MsICIvIiwgVG9kYXksICIuTUNQMS5wbGFxdWUuZXhwMl9wZ3VnLlBsYXF1ZVZ1bG5lcmFiaWxpdHlJbmRleF9GYWNldF9ieVllYXIucGRmIiksIHBsb3QgPSBsYXN0X3Bsb3QoKSkKCiMgY29tcGFyZV9tZWFucyhNQ1AxX3BnX3VnXzIwMTVfcmFuayB+IEFnZUdyb3VwLCAgZGF0YSA9IEFFREIuQ0VBLCBtZXRob2QgPSAia3J1c2thbC50ZXN0IikKcDIgPC0gZ2dwdWJyOjpnZ2JveHBsb3QoQUVEQi5DRUEsIAogICAgICAgICAgICAgICAgICB4ID0gIlBsYXF1ZV9WdWxuZXJhYmlsaXR5X0luZGV4IiwKICAgICAgICAgICAgICAgICAgeSA9ICJNQ1AxX3BnX21sXzIwMTVfcmFuayIsIAogICAgICAgICAgICAgICAgICB4bGFiID0gIlBsYXF1ZSB2dWxuZXJhYmlsaXR5IGluZGV4IiwKICAgICAgICAgICAgICAgICAgeWxhYiA9ICJNQ1AxIHBsYXF1ZSBbcGcvbUxdXG4oSU5ULCBleHAgMikiLAogICAgICAgICAgICAgICAgICBjb2xvciA9ICJQbGFxdWVfVnVsbmVyYWJpbGl0eV9JbmRleCIsCiAgICAgICAgICAgICAgICAgIHBhbGV0dGUgPSAibnBnIiwKICAgICAgICAgICAgICAgICAgZmFjZXQuYnkgPSAiT1J5ZWFyR3JvdXAiLAogICAgICAgICAgICAgICAgICBhZGQgPSAiaml0dGVyIikgIysKICAjIHN0YXRfY29tcGFyZV9tZWFucyhtZXRob2QgPSAia3J1c2thbC50ZXN0IikKZ2dwYXIocDIsIGxlZ2VuZCA9ICJib3R0b20iLCBsZWdlbmQudGl0bGUgPSAiUGxhcXVlIHZ1bG5lcmFiaWxpdHkgaW5kZXgiKQpnZ3NhdmUoZmlsZW5hbWUgPSBwYXN0ZTAoUExPVF9sb2MsICIvIiwgVG9kYXksICIuTUNQMS5wbGFxdWUuZXhwMl9wZ21MLlBsYXF1ZVZ1bG5lcmFiaWxpdHlJbmRleF9GYWNldF9ieVllYXIucGRmIiksIHBsb3QgPSBsYXN0X3Bsb3QoKSkKCiMgY29tcGFyZV9tZWFucyhNQ1AxX3BnX3VnXzIwMTVfcmFuayB+IEFnZUdyb3VwLCAgZGF0YSA9IEFFREIuQ0VBLCBtZXRob2QgPSAia3J1c2thbC50ZXN0IikKcDMgPC0gZ2dwdWJyOjpnZ2JveHBsb3QoQUVEQi5DRUEsIAogICAgICAgICAgICAgICAgICB4ID0gIlBsYXF1ZV9WdWxuZXJhYmlsaXR5X0luZGV4IiwKICAgICAgICAgICAgICAgICAgeSA9ICJNQ1AxX3JhbmsiLCAKICAgICAgICAgICAgICAgICAgeGxhYiA9ICJQbGFxdWUgdnVsbmVyYWJpbGl0eSBpbmRleCIsCiAgICAgICAgICAgICAgICAgIHlsYWIgPSAiTUNQMSBwbGFxdWUgW3BnL21MXVxuKElOVCwgZXhwIDEpIiwKICAgICAgICAgICAgICAgICAgY29sb3IgPSAiUGxhcXVlX1Z1bG5lcmFiaWxpdHlfSW5kZXgiLAogICAgICAgICAgICAgICAgICBwYWxldHRlID0gIm5wZyIsCiAgICAgICAgICAgICAgICAgIGZhY2V0LmJ5ID0gIk9SeWVhckdyb3VwIiwKICAgICAgICAgICAgICAgICAgYWRkID0gImppdHRlciIpICMrCiAgIyBzdGF0X2NvbXBhcmVfbWVhbnMobWV0aG9kID0gImtydXNrYWwudGVzdCIpCmdncGFyKHAzLCBsZWdlbmQgPSAiYm90dG9tIiwgbGVnZW5kLnRpdGxlID0gIlBsYXF1ZSB2dWxuZXJhYmlsaXR5IGluZGV4IikKZ2dzYXZlKGZpbGVuYW1lID0gcGFzdGUwKFBMT1RfbG9jLCAiLyIsIFRvZGF5LCAiLk1DUDEucGxhcXVlLmV4cDFfcGdtTC5QbGFxdWVWdWxuZXJhYmlsaXR5SW5kZXhfRmFjZXRfYnlZZWFyLnBkZiIpLCBwbG90ID0gbGFzdF9wbG90KCkpCgpgYGAKCiMjIyBNQ1AxIHBsYXNtYSBsZXZlbHMgdnMuIHBsYXF1ZSB2dWxuZXJhYmlsaXR5IGluZGV4CgpgYGB7ciBNQ1AxIHBlciBQbGFxdWVWdWxuZXJhYmlsaXR5SW5kZXggUGxhc21hfQojIEdsb2JhbCB0ZXN0CiMgY29tcGFyZV9tZWFucyhNQ1AxX3BnX3VnXzIwMTVfcmFuayB+IEdlbmRlciwgIGRhdGEgPSBBRURCLkNFQSwgbWV0aG9kID0gIndpbGNveC50ZXN0IikKcDEgPC0gZ2dwdWJyOjpnZ2JveHBsb3QoQUVEQi5DRUEsIAogICAgICAgICAgICAgICAgICB4ID0gIlBsYXF1ZV9WdWxuZXJhYmlsaXR5X0luZGV4IiwKICAgICAgICAgICAgICAgICAgeSA9ICJNQ1AxX3BsYXNtYV9vbGlua19yYW5rIiwgCiAgICAgICAgICAgICAgICAgIHhsYWIgPSAiUGxhcXVlIHZ1bG5lcmFiaWxpdHkgaW5kZXgiLAogICAgICAgICAgICAgICAgICB5bGFiID0gIk1DUDEgcGxhc21hIFtBVV1cbihpbnZlcnNlLW5vcm1hbCB0cmFuc2Zvcm1hdGlvbikiLAogICAgICAgICAgICAgICAgICBjb2xvciA9ICJQbGFxdWVfVnVsbmVyYWJpbGl0eV9JbmRleCIsCiAgICAgICAgICAgICAgICAgIHBhbGV0dGUgPSAibnBnIiwKICAgICAgICAgICAgICAgICAgYWRkID0gImppdHRlciIpICMrCiAgIyBzdGF0X2NvbXBhcmVfbWVhbnMobWV0aG9kID0gIndpbGNveC50ZXN0IikKZ2dwYXIocDEsIGxlZ2VuZCA9ICJib3R0b20iLCBsZWdlbmQudGl0bGUgPSAiUGxhcXVlIHZ1bG5lcmFiaWxpdHkgaW5kZXgiKQpnZ3NhdmUoZmlsZW5hbWUgPSBwYXN0ZTAoUExPVF9sb2MsICIvIiwgVG9kYXksICIuTUNQMS5wbGFzbWEuUGxhcXVlVnVsbmVyYWJpbGl0eUluZGV4LnBkZiIpLCBwbG90ID0gbGFzdF9wbG90KCkpCgpwMSA8LSBnZ3B1YnI6OmdnYm94cGxvdChBRURCLkNFQSwgCiAgICAgICAgICAgICAgICAgIHggPSAiUGxhcXVlX1Z1bG5lcmFiaWxpdHlfSW5kZXgiLAogICAgICAgICAgICAgICAgICB5ID0gIk1DUDFfcGxhc21hX29saW5rX3JhbmsiLCAKICAgICAgICAgICAgICAgICAgeGxhYiA9ICJQbGFxdWUgdnVsbmVyYWJpbGl0eSBpbmRleCIsCiAgICAgICAgICAgICAgICAgIHlsYWIgPSAiTUNQMSBwbGFzbWEgW0FVXVxuKGludmVyc2Utbm9ybWFsIHRyYW5zZm9ybWF0aW9uKSIsCiAgICAgICAgICAgICAgICAgIGNvbG9yID0gIlBsYXF1ZV9WdWxuZXJhYmlsaXR5X0luZGV4IiwKICAgICAgICAgICAgICAgICAgcGFsZXR0ZSA9ICJucGciLAogICAgICAgICAgICAgICAgICBmYWNldC5ieSA9ICJPUnllYXJHcm91cCIsCiAgICAgICAgICAgICAgICAgIGFkZCA9ICJqaXR0ZXIiKSAjKwogICMgc3RhdF9jb21wYXJlX21lYW5zKG1ldGhvZCA9ICJ3aWxjb3gudGVzdCIpCmdncGFyKHAxLCBsZWdlbmQgPSAiYm90dG9tIiwgbGVnZW5kLnRpdGxlID0gIlBsYXF1ZSB2dWxuZXJhYmlsaXR5IGluZGV4IikKZ2dzYXZlKGZpbGVuYW1lID0gcGFzdGUwKFBMT1RfbG9jLCAiLyIsIFRvZGF5LCAiLk1DUDEucGxhc21hLlBsYXF1ZVZ1bG5lcmFiaWxpdHlJbmRleF9GYWNldGJ5WWVhci5wZGYiKSwgcGxvdCA9IGxhc3RfcGxvdCgpKQoKcDEgPC0gZ2dwdWJyOjpnZ2JveHBsb3QoQUVEQi5DRUEsIAogICAgICAgICAgICAgICAgICB4ID0gIlBsYXF1ZV9WdWxuZXJhYmlsaXR5X0luZGV4IiwKICAgICAgICAgICAgICAgICAgeSA9ICJNQ1AxX3BsYXNtYV9vbGlua19yYW5rIiwgCiAgICAgICAgICAgICAgICAgIHhsYWIgPSAiUGxhcXVlIHZ1bG5lcmFiaWxpdHkgaW5kZXgiLAogICAgICAgICAgICAgICAgICB5bGFiID0gIk1DUDEgcGxhc21hIFtBVV1cbihpbnZlcnNlLW5vcm1hbCB0cmFuc2Zvcm1hdGlvbikiLAogICAgICAgICAgICAgICAgICBjb2xvciA9ICJPUnllYXJHcm91cCIsCiAgICAgICAgICAgICAgICAgIHBhbGV0dGUgPSAibnBnIiwKICAgICAgICAgICAgICAgICAgYWRkID0gImppdHRlciIpICMrCiAgIyBzdGF0X2NvbXBhcmVfbWVhbnMobWV0aG9kID0gIndpbGNveC50ZXN0IikKZ2dwYXIocDEsIGxlZ2VuZCA9ICJib3R0b20iLCBsZWdlbmQudGl0bGUgPSAiUGxhcXVlIHZ1bG5lcmFiaWxpdHkgaW5kZXgiKQpnZ3NhdmUoZmlsZW5hbWUgPSBwYXN0ZTAoUExPVF9sb2MsICIvIiwgVG9kYXksICIuTUNQMS5wbGFzbWEuUGxhcXVlVnVsbmVyYWJpbGl0eUluZGV4X2J5WWVhci5wZGYiKSwgcGxvdCA9IGxhc3RfcGxvdCgpKQoKcm0ocDEpCgpgYGAKCiMjIyBNb2RlbCAxCgpJbiB0aGlzIG1vZGVsIHdlIGNvcnJlY3QgZm9yIF9BZ2VfLCBfR2VuZGVyXywgYW5kIF95ZWFyIG9mIHN1cmdlcnlfLgoKSGVyZSB3ZSB1c2UgdGhlIGludmVyc2UtcmFuayBub3JtYWxpemVkIGRhdGEgLSB2aXN1YWxseSB0aGlzIGlzIG1vcmUgbm9ybWFsbHkgZGlzdHJpYnV0ZWQuCgpBbmFseXNpcyBvZiB0aGUgcGxhcXVlIHZ1bG5lcmFiaWxpdHkgaW5kZXogYXMgYSBmdW5jdGlvbiBvZiBwbGFzbWEvcGxhcXVlIE1DUDEgbGV2ZWxzLgpgYGB7ciBDcm9zc1NlYzogUGxhcXVlX1Z1bG5lcmFiaWxpdHlfSW5kZXggLSBvcmRpbmFsIHJlZ3Jlc3Npb24gTU9ERUwxIFJBTkssIGluY2x1ZGU9VFJVRSwgcGFnZWQucHJpbnQ9VFJVRX0KVFJBSVRTLlBST1RFSU4uUkFOSy5leHRyYSA9IGMoIk1DUDFfcGdfdWdfMjAxNV9yYW5rIiwgIk1DUDFfcGdfbWxfMjAxNV9yYW5rIiwgICJNQ1AxX3JhbmsiLCAiTUNQMV9wbGFzbWFfb2xpbmtfcmFuayIpCgpHTE0ucmVzdWx0cyA8LSBkYXRhLmZyYW1lKG1hdHJpeChOQSwgbmNvbCA9IDE2LCBucm93ID0gMCkpCmZvciAocHJvdGVpbiBpbiAxOmxlbmd0aChUUkFJVFMuUFJPVEVJTi5SQU5LLmV4dHJhKSkgewogIFBST1RFSU4gPSBUUkFJVFMuUFJPVEVJTi5SQU5LLmV4dHJhW3Byb3RlaW5dCiAgY2F0KHBhc3RlMCgiXG5BbmFseXNpcyBvZiAiLFBST1RFSU4sIi5cbiIpKQogIFRSQUlUID0gIlBsYXF1ZV9WdWxuZXJhYmlsaXR5X0luZGV4IgogICAgY2F0KHBhc3RlMCgiXG4tIHByb2Nlc3NpbmcgIixUUkFJVCwiXG5cbiIpKQogICAgY3VycmVudERGIDwtIGFzLmRhdGEuZnJhbWUoQUVEQi5DRUEgJT4lCiAgICAgIGRwbHlyOjpzZWxlY3QoLiwgUFJPVEVJTiwgVFJBSVQsIENPVkFSSUFURVNfTTEsIE9SZGF0ZV9lcG9jaCkgJT4lCiAgICAgIGZpbHRlcihjb21wbGV0ZS5jYXNlcyguKSkpICU+JQogICAgICBmaWx0ZXJfaWYofmlzLm51bWVyaWMoLiksIGFsbF92YXJzKCFpcy5pbmZpbml0ZSguKSkpICU+JQogICAgICBkcm9wbGV2ZWxzKC4pCiAgICAKICAgICMgZml4IG51bWVyaWMgT1IgeWVhcgogICAgY3VycmVudERGJE9SZGF0ZV95ZWFyIDwtIGFzLm51bWVyaWMoY3VycmVudERGJE9SZGF0ZV95ZWFyKQogICAgCiAgICAjIGZvciBkZWJ1ZwogICAgIyBwcmludChEVDo6ZGF0YXRhYmxlKGN1cnJlbnRERikpCiAgICAjIHByaW50KG5yb3coY3VycmVudERGKSkKICAgICMgcHJpbnQoc3RyKGN1cnJlbnRERikpCiAgICAjIHByaW50KGNsYXNzKGN1cnJlbnRERlssVFJBSVRdKSkKICAgICMgdGFibGUoY3VycmVudERGJE9SZGF0ZV95ZWFyKQogICAgIyMjIHVuaXZhcmlhdGUKICAgICAjICsgSHlwZXJ0ZW5zaW9uLmNvbXBvc2l0ZSArIERpYWJldGVzU3RhdHVzICsgU21va2VyQ3VycmVudCArIAogICAgICMgICAgICAgICAgICBNZWQuU3RhdGluLkxMRCArIE1lZC5hbGwuYW50aXBsYXRlbGV0ICsgR0ZSX01EUkQgKyBCTUkgKyAKICAgICAjICAgICAgICAgICAgQ0FEX2hpc3RvcnkgKyBTdHJva2VfaGlzdG9yeSArIFBlcmlwaGVyYWwuaW50ZXJ2ICsgc3Rlbm9zZQogICAgZml0IDwtIHBvbHIoY3VycmVudERGWyxUUkFJVF0gfiBjdXJyZW50REZbLFBST1RFSU5dICsgQWdlICsgR2VuZGVyICsgT1JkYXRlX3llYXIsIAogICAgICAgICAgICAgIGRhdGEgID0gIGN1cnJlbnRERiwgCiAgICAgICAgICAgICAgSGVzcyA9IFRSVUUpCiAgICBwcmludChzdW1tYXJ5KGZpdCkpCiAgICAKICAgICMjIHN0b3JlIHRhYmxlCiAgICAoY3RhYmxlIDwtIGNvZWYoc3VtbWFyeShmaXQpKSkKCiAgICAjIyBjYWxjdWxhdGUgYW5kIHN0b3JlIHAgdmFsdWVzCiAgICBwIDwtIHBub3JtKGFicyhjdGFibGVbLCAidCB2YWx1ZSJdKSwgbG93ZXIudGFpbCA9IEZBTFNFKSAqIDIKICAgIAogICAgIyMgY29tYmluZWQgdGFibGUKICAgIHByaW50KChjdGFibGUgPC0gY2JpbmQoY3RhYmxlLCAicCB2YWx1ZSIgPSBwKSkpCiAgfQoKCmBgYAoKIyMjIE1vZGVsIDIKCkluIHRoaXMgbW9kZWwgd2UgY29ycmVjdCBmb3IgX0FnZV8sIF9HZW5kZXJfLCBfSHlwZXJ0ZW5zaW9uIHN0YXR1c18sIF9EaWFiZXRlcyBzdGF0dXNfLCBfY3VycmVudCBzbW9rZXIgc3RhdHVzXywgX2xpcGlkLWxvd2VyaW5nIGRydWdzIChMTERzKV8sIF9hbnRpcGxhdGVsZXQgbWVkaWNhdGlvbl8sIF9lR0ZSIChNRFJEKV8sIF9CTUlfLCBfTWVkSHhfQ1ZEXyAoY29tYmluYXRpb24gb2YgX0NBRCBoaXN0b3J5XywgX3N0cm9rZSBoaXN0b3J5XywgYW5kIF9wZXJpcGhlcmFsIGludGVydmVudGlvbnNfKSwgYW5kIF9zdGVub3Npcy5fLgoKCmBgYHtyIENyb3NzU2VjOiBQbGFxdWVfVnVsbmVyYWJpbGl0eV9JbmRleCAtIG9yZGluYWwgcmVncmVzc2lvbiBNT0RFTDIgUkFOSywgaW5jbHVkZT1UUlVFLCBwYWdlZC5wcmludD1UUlVFfQoKZm9yIChwcm90ZWluIGluIDE6bGVuZ3RoKFRSQUlUUy5QUk9URUlOLlJBTksuZXh0cmEpKSB7CiAgUFJPVEVJTiA9IFRSQUlUUy5QUk9URUlOLlJBTksuZXh0cmFbcHJvdGVpbl0KICBjYXQocGFzdGUwKCJcbkFuYWx5c2lzIG9mICIsUFJPVEVJTiwiLlxuIikpCiAgVFJBSVQgPSAiUGxhcXVlX1Z1bG5lcmFiaWxpdHlfSW5kZXgiCiAgICBjYXQocGFzdGUwKCJcbi0gcHJvY2Vzc2luZyAiLFRSQUlULCJcblxuIikpCiAgICBjdXJyZW50REYgPC0gYXMuZGF0YS5mcmFtZShBRURCLkNFQSAlPiUKICAgICAgZHBseXI6OnNlbGVjdCguLCBQUk9URUlOLCBUUkFJVCwgQ09WQVJJQVRFU19NMikgJT4lCiAgICAgIGZpbHRlcihjb21wbGV0ZS5jYXNlcyguKSkpICU+JQogICAgICBmaWx0ZXJfaWYofmlzLm51bWVyaWMoLiksIGFsbF92YXJzKCFpcy5pbmZpbml0ZSguKSkpICU+JQogICAgICBkcm9wbGV2ZWxzKC4pCiAgICAKICAgICMgZml4IG51bWVyaWMgT1IgeWVhcgogICAgY3VycmVudERGJE9SZGF0ZV95ZWFyIDwtIGFzLm51bWVyaWMoY3VycmVudERGJE9SZGF0ZV95ZWFyKQogICAgCiAgICAjIGZvciBkZWJ1ZwogICAgIyBwcmludChEVDo6ZGF0YXRhYmxlKGN1cnJlbnRERikpCiAgICAjIHByaW50KG5yb3coY3VycmVudERGKSkKICAgICMgcHJpbnQoc3RyKGN1cnJlbnRERikpCiAgICAjIHByaW50KGNsYXNzKGN1cnJlbnRERlssVFJBSVRdKSkKICAgICMjIyB1bml2YXJpYXRlCgogICAgZml0IDwtIHBvbHIoYXMuZmFjdG9yKGN1cnJlbnRERlssVFJBSVRdKSB+IGN1cnJlbnRERlssUFJPVEVJTl0gKyBBZ2UgKyBHZW5kZXIgKyBPUmRhdGVfeWVhciArIEh5cGVydGVuc2lvbi5jb21wb3NpdGUgKyBEaWFiZXRlc1N0YXR1cyArIFNtb2tlclN0YXR1cyArIE1lZC5TdGF0aW4uTExEICsgTWVkLmFsbC5hbnRpcGxhdGVsZXQgKyBHRlJfTURSRCArIEJNSSArIE1lZEh4X0NWRCArIHN0ZW5vc2UsCiAgICAgICAgICAgICAgZGF0YSAgPSAgY3VycmVudERGLAogICAgICAgICAgICAgIEhlc3MgPSBUUlVFKQogICAgCiAgICBwcmludChzdW1tYXJ5KGZpdCkpCiAgICAKICAgICMjIHN0b3JlIHRhYmxlCiAgICAoY3RhYmxlIDwtIGNvZWYoc3VtbWFyeShmaXQpKSkKCiAgICAjIyBjYWxjdWxhdGUgYW5kIHN0b3JlIHAgdmFsdWVzCiAgICBwIDwtIHBub3JtKGFicyhjdGFibGVbLCAidCB2YWx1ZSJdKSwgbG93ZXIudGFpbCA9IEZBTFNFKSAqIDIKICAgIAogICAgIyMgY29tYmluZWQgdGFibGUKICAgIHByaW50KChjdGFibGUgPC0gY2JpbmQoY3RhYmxlLCAicCB2YWx1ZSIgPSBwKSkpCiAgfQoKYGBgCgojIyBDb21wYXJpc29uIHNhbXBsZSB0eXBlcyBPTElOSy1wbGF0Zm9ybQoKV2UgcGVyZm9ybWVkIGEgcGlsb3QgZXhwZXJpbWVudCBjb21wYXJpbmcgcGxhc21hIGFuZCBwbGFxdWUtZGVyaXZlZCBwcm90ZWluIGxldmVscyBhcyBtZWFzdXJlZCB1c2luZyB0aGUgT0xJTksgcGxhdGZvcm0uCgpNeSBjb2xsZWFndWUsIEFyamFuIEJvbHRqZXMsIGFuYWx5emVkIHRoaXMuIEJlbG93IHNvbWUgZ3JhcGhzIGFuZCBzb21lIHN0YXRpc3RpY3MuIAoKX2VzdGltYXRlXzogICAgLTAuMDAwNDA5MzgwOQpfc3RhdGlzdGljXzogICAtMC4wMDM3NzQzMDYKX3AudmFsdWVfOiAgICAgMC45OTY5OTc0Cl9wYXJhbWV0ZXJfOiAgIDg1Cl9jb25mLmxvd186ICAgIC0wLjIxMTAzOTQKX2NvbmYuaGlnaF86ICAgMC4yMTAyNTcJCl9tZXRob2RfOiAgICAgIFBlYXJzb24ncyBwcm9kdWN0LW1vbWVudCBjb3JyZWxhdGlvbgkKX2FsdGVybmF0aXZlOl8gdHdvLnNpZGVkCgoqKkZpZ3VyZSAxOiBEaXN0cmlidXRpb25zIG9mIHBsYXF1ZSBhbmQgcGxhc21hIE1DUDEgbGV2ZWxzLioqIE1lYXN1cmVkIHVzaW5nIHRoZSBPTElOSy1wbGF0Zm9ybSAoQ1ZELUlJSSBwYW5lbCkuIFBpbG90IGV4cGVyaW1lbnQgd2l0aCBuID0gODggc2FtcGxlcy4gCiFbRGlzdHJpYnV0aW9ucyBwbGFxdWUgYW5kIHBsYXNtYSBNQ1AxIGxldmVsc10ocGxhc21hX3ZzX2J1bGtfT0xJTktfTUNQMS9maWd1cmVzL2hpc3Rfb2xpbmstMi5wbmcpCgoqKkZpZ3VyZSAyOiBDb21wYXJpc29uIG9mIHBsYXF1ZSBhbmQgcGxhc21hIE1DUDEgbGV2ZWxzLioqIE1lYXN1cmVkIHVzaW5nIHRoZSBPTElOSy1wbGF0Zm9ybSAoQ1ZELUlJSSBwYW5lbCkuIFBpbG90IGV4cGVyaW1lbnQgd2l0aCBuID0gODggc2FtcGxlcy4gX0FVXyA9IEFyYml0cmFyeSB1bml0LgohW0NvbXBhcmluZyBwbGFxdWUgYW5kIHBsYXNtYSBNQ1AxIGxldmVscyAoQVUpXShwbGFzbWFfdnNfYnVsa19PTElOS19NQ1AxL2ZpZ3VyZXMvY29ycl9vbGluay0xLnBuZykKCgojIFNlc3Npb24gaW5mb3JtYXRpb24KCi0tLS0tLQoKICAgIFZlcnNpb246ICAgICAgdjEuMC4xMwogICAgTGFzdCB1cGRhdGU6ICAyMDIwLTA3LTA3CiAgICBXcml0dGVuIGJ5OiAgIFNhbmRlciBXLiB2YW4gZGVyIExhYW4gKHMudy52YW5kZXJsYWFuLTJbYXRddW1jdXRyZWNodC5ubCkuCiAgICBEZXNjcmlwdGlvbjogIFNjcmlwdCB0byBhbmFseXNlIE1DUDEgZnJvbSB0aGUgQXRoZXItRXhwcmVzcyBCaW9iYW5rIFN0dWR5LgogICAgTWluaW11bSByZXF1aXJlbWVudHM6IFIgdmVyc2lvbiAzLjUuMiAoMjAxOC0xMi0yMCkgLS0gJ0VnZ3NoZWxsIElnbG9vJywgbWFjT1MgTW9qYXZlICgxMC4xNC4yKS4KICAgIAogICAgKipNb1NDb1cgVG8tRG8gTGlzdCoqCiAgICBUaGUgdGhpbmdzIHdlIE11c3QsIFNob3VsZCwgQ291bGQsIGFuZCBXb3VsZCBoYXZlIGdpdmVuIHRoZSB0aW1lIHdlIGhhdmUuCiAgICBfTV8KICAgICogRE9ORSAtIGFuYWx5c2lzIG9uIHBsYXNtYSBiYXNlZCBvbiBPTElOSyBwbGF0Zm9ybQogICAgKiBET05FIC0gYW5hbHlzaXMgb24gdGhlIHBpbG90IGRhdGFzZXQgb24gdGhlIE9MSU5LIHBsYXRmb3JtLCBjb21wYXJpbmcgcGxhc21hIHZzLiBwbGFxdWUKICAgICogRE9ORSAtIGxpbmVhciByZWdyZXNzaW9uIG1vZGVscyAobW9kZWwgMSBhbmQgbW9kZWwgMikgb2YgYE1DUDFfcGdfdWdfMjAxNWAgd2l0aCBjeXRva2luZXMKICAgICogRE9ORSAtIGNoZWNrIG91dCB0aGUgZGlmZmVyZW5jZSBiZXR3ZWVuIHRoZSBtZWFzdXJlbWVucyBvZiBgTUNQMWAgYW5kIGBNQ1AxX3BnX3VnXzIwMTVgID4gYE1DUDFfcGdfdWdfMjAxNWAgYW5kIGBNQ1AxX3BnX21sXzIwMTVgIGdpdmUgc2ltaWxhciByZXN1bHRzLCBgTUNQMV9wZ191Z18yMDE1YCBpcyBtb3JlIGNvcnJlY3QgYXMgdGhpcyBpcyBjb3JyZWN0ZWQgZm9yIHRoZSB0b3RhbCBhbW91bnQgb2YgcHJvdGVpbiBpbiB0aGUgcHJvdGVpbi1zYW1wbGUgdXNlZCBmb3IgdGhlIG1lYXN1cmVtZW50LiAKICAgICogRE9ORSAtIGRvdWJsZSBjaGVjayB0aGUgcGxvdHRpbmcgb2YgdGhlIE1BQ0UKICAgICogRE9ORSAtIGFkZCB0aGUgc3RhdGlzdGljcyBmb3IgdGhlIGNvcnJlbGF0aW9uIG9mIGBNQ1AxX3BnX3VnXzIwMTVgIHdpdGggdGhlIGN5dG9raW5lcwogICAgKiBET05FIC0gYWRkIHRoZSBjb21wYXJpc29uIGJldHdlZW4gYE1DUDFgLCBgTUNQMV9wZ19tbF8yMDE1YCwgYW5kIGBNQ1AxX3BnX3VnXzIwMTVgCiAgICAqIERPTkUgLSBhbmFseXNpcyBpbiB0aGUgY29udGV4dCBvZiB5ZWFyIG9mIHN1cmdlcnkgZ2l2ZW4gVmFuIExhbW1lcmVuIF9ldCBhbC5fIAogICAgKiBET05FIC0gYWRkIGFuYWx5c2lzIG9uIHZ1bG5lcmFiaWxpdHkgaW5kZXgKICAgICogRE9ORSAtIGFkZCBhbmFseXNpcyBvbiBiaW5hcnkgYW5kIG9yZGluYWwgcGxhcXVlIHBoZW5vdHlwZXMKICAgICogRE9ORSAtIGFkZCBib3hwbG90cyBvZiBNQ1AxIGxldmVscyBzdHJhdGlmaWVkIGJ5IGNvbmZvdW5kZXJzL3ZhcmlhYmxlcwogICAgCiAgICBfU18KICAgICogRE9ORSBwcmV0dGlmeSBmb3Jlc3QgcGxvdAogICAgCiAgICBfQ18KICAgIAogICAgCiAgICBfV18KICAgIAogICAgCiAgICAqKkNoYW5nZXMgbG9nKioKICAgICogdjEuMC4xNCBBZGQgYW5hbHlzaXMgb24gcGxhc21hIGJhc2VkIE1DUDEgbGV2ZWxzIG1lYXN1cmVkIHRocm91Z2ggT0xJTkssIG4gwrEgNzAwLCBsaW1pdGVkIHRvIHN5bXB0b21hdGljIHBhdGllbnRzIG9ubHkuCiAgICAqIHYxLjAuMTMgU3BsaXR0aW5nIFJNRHMgaW50byBwbGFxdWUtZm9jdXNlZCwgYW5kIG9uZSBpbmNsdWRpbmcgcGxhc21hIGxldmVscyBvZiBNQ1AxLgogICAgKiB2MS4wLjEyIEFkZCBib3hwbG90cyBvZiBNQ1AxIGxldmVscyBzdHJhdGlmaWVkIGJ5IGNvbmZvdW5kZXIvdmFyaWFibGVzLgogICAgKiB2MS4wLjExIEFkZCBhbmFseXNpcyBvZiBwaWxvdCBkYXRhIGNvbXBhcmluZyBPTElOSy1wbGF0Zm9ybSBiYXNlZCBNQ1AxIGxldmVscyBpbiBwbGFzbWEgYW5kIHBsYXF1ZS4KICAgICogdjEuMC4xMCBBZGQgYW5hbHlzZXMgZm9yIGFsbCB0aHJlZSBgTUNQMWAsIGBNQ1AxX3BnX21sXzIwMTVgLCBhbmQgYE1DUDFfcGdfdWdfMjAxNWAuIEFkZCBjb21wYXJpc29uIGJldHdlZW4gYE1DUDFgLCBgTUNQMV9wZ19tbF8yMDE1YCwgYW5kIGBNQ1AxX3BnX3VnXzIwMTVgLiBBZGQgKGFuZCBmaXhlZCkgb3JkaW5hbCByZWdyZXNzaW9uLiBEb3VibGUgY2hlY2tlZCB3aGljaCBtZWFzdXJlbWVudCB0byB1c2UuIAogICAgKiB2MS4wLjkgQWRkZWQgbGluZWFyIHJlZ3Jlc3Npb24gbW9kZWxzIGZvciBNQ1AxIHZzLiBjeXRva2luZXMgcGxhcXVlIGxldmVscy4gRG91YmxlIGNoZWNrZWQgdXBsb2FkIG9mIE1BQ0UtcGxvdHMuIEFkZGVkIHN0YXRpc3RpY3MgZnJvbSBjb3JyZWxhdGlvbiAoaGVhdG1hcCkgdG8gdHh0LWZpbGUuCiAgICAqIHYxLjAuOCBGaXhlZCBlcnJvciBpbiBNQ1AxIHBsYXNtYSBhbmFseXNpcy4gSXQgdHVybnMgb3V0IHRoZSBgTUNQMWAgYW5kIGBNQ1AxX3BnX3VnXzIwMTVgIHZhcmlhYmxlcyBhcmUgX2JvdGhfIG1lYXN1cmVkIGluIHBsYXF1ZSwgaW4gdHdvIHNlcGFyYXRlIGV4cGVyaW1lbnRzLCBleHAuIG5vLiAxIGFuZCBleHAuIG5vLiAyLCByZXNwZWN0aXZlbHkuIAogICAgKiB2MS4wLjcgRml4ZWQgdGhlIHBlciBBZ2UtZ3JvdXAgTUNQMSBCb3ggcGxvdHMuIEFkZGVkIGNvcnJlbGF0aW9ucyB3aXRoIG90aGVyIGN5dG9raW5lcyBpbiBwbGFxdWVzLgogICAgKiB2MS4wLjYgT25seSBhbmFseXNlcyBhbmQgZmlndXJlcyB0aGF0IGVuZCB1cCBpbiB0aGUgZmluYWwgbWFudXNjcmlwdC4KICAgICogdjEuMC41IFVwZGF0ZSB3aXRoIDMwLSBhbmQgOTAtZGF5cyBzdXJ2aXZhbC4KICAgICogdjEuMC40IFVwZGF0ZWQgd2l0aCBDb3gtcmVncmVzc2lvbnMuCiAgICAqIHYxLjAuMyBJbmNsdWRlZCBtb3JlIG1vZGVscy4KICAgICogdjEuMC4yIEJ1Z3MgZml4ZWQuCiAgICAqIHYxLjAuMSBFeHRlbmRlZCB3aXRoIGxpbmVhciBhbmQgbG9naXN0aWMgcmVncmVzc2lvbnMuCiAgICAqIHYxLjAuMCBJbml0YWwgdmVyc2lvbi4KICAgIAoKLS0tLS0tCgpgYGB7ciBldmFsID0gVFJVRX0Kc2Vzc2lvbkluZm8oKQpgYGAKCiMgU2F2aW5nIGVudmlyb25tZW50CmBgYHtyIFNhdmluZ30Kc2F2ZS5pbWFnZShwYXN0ZTAoUFJPSkVDVF9sb2MsICIvIixUb2RheSwiLiIsUFJPSkVDVE5BTUUsIi5zYW1wbGVfc2VsZWN0aW9uLlJEYXRhIikpCmBgYAoKLS0tLS0tCjxzdXA+JmNvcHk7IDE5NzktMjAyMCBTYW5kZXIgVy4gdmFuIGRlciBMYWFuIHwgcy53LnZhbmRlcmxhYW4tMlthdF11bWN1dHJlY2h0Lm5sIHwgW3N3dmFuZGVybGFhbi5naXRodWIuaW9dKGh0dHBzOi8vc3d2YW5kZXJsYWFuLmdpdGh1Yi5pbykuPC9zdXA+Ci0tLS0tLQoK